Class: MoesifApi::FaradayClient
- Inherits:
-
HttpClient
- Object
- HttpClient
- MoesifApi::FaradayClient
- Defined in:
- lib/moesif_api/http/faraday_client.rb
Instance Method Summary collapse
-
#convert_response(response) ⇒ Object
Method overridden from HttpClient.
-
#execute_as_string(http_request) ⇒ Object
Method overridden from HttpClient.
-
#initialize ⇒ FaradayClient
constructor
A new instance of FaradayClient.
Methods inherited from HttpClient
#delete, #execute_as_binary, #get, #patch, #post, #put
Constructor Details
#initialize ⇒ FaradayClient
Returns a new instance of FaradayClient.
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/moesif_api/http/faraday_client.rb', line 15 def initialize super() = { max: 3, interval: 0.1, interval_randomness: 0.5, backoff_factor: 2 } @connection = Faraday.new({}) do |f| f.request :retry, f.adapter :net_http_persistent, pool_size: 5 do |http| http.idle_timeout = 100 end end end |
Instance Method Details
#convert_response(response) ⇒ Object
Method overridden from HttpClient.
43 44 45 46 47 48 49 50 51 |
# File 'lib/moesif_api/http/faraday_client.rb', line 43 def convert_response(response) if response.body.is_a?(String) raw_body = response.body elsif !response.body.nil? raw_body = JSON.generate(response.body) end HttpResponse.new(response.status, response.headers.dup, raw_body) end |
#execute_as_string(http_request) ⇒ Object
Method overridden from HttpClient.
33 34 35 36 37 38 39 40 |
# File 'lib/moesif_api/http/faraday_client.rb', line 33 def execute_as_string(http_request) response = @connection.run_request(http_request.http_method.downcase.to_sym, http_request.query_url, http_request.parameters, # body http_request.headers) convert_response(response) end |