Class: Monri::HttpClient
- Inherits:
-
Object
- Object
- Monri::HttpClient
- Defined in:
- lib/monri/http_client.rb
Instance Attribute Summary collapse
Instance Method Summary collapse
- #build_url(url) ⇒ URI
- #get(url, options = {}) ⇒ Monri::ApiHttpResponse
- #post(url, body, options = {}) ⇒ Monri::ApiHttpResponse
Instance Attribute Details
Instance Method Details
#build_url(url) ⇒ URI
43 44 45 |
# File 'lib/monri/http_client.rb', line 43 def build_url(url) URI.parse("#{config.base_api_url}#{url}") end |
#get(url, options = {}) ⇒ Monri::ApiHttpResponse
10 11 12 13 14 15 16 17 18 19 20 21 |
# File 'lib/monri/http_client.rb', line 10 def get(url, = {}) # TODO: validate uri = build_url(url) headers = prepare_headers() # Create the HTTP objects http = Net::HTTP.new(uri.host, uri.port) http.use_ssl = true request = Net::HTTP::Get.new(uri.request_uri, headers) # Send the request response = http.request(request) ApiHttpResponse.new.from_net(response) end |
#post(url, body, options = {}) ⇒ Monri::ApiHttpResponse
27 28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/monri/http_client.rb', line 27 def post(url, body, = {}) # TODO: validate uri = build_url(url) headers = prepare_headers() # Create the HTTP objects http = Net::HTTP.new(uri.host, uri.port) http.use_ssl = true request = Net::HTTP::Post.new(uri.request_uri, headers) request.body = body.to_json # Send the request response = http.request(request) ApiHttpResponse.new.from_net(response) end |