Class: EppoClient::HttpClient

Inherits:
Object
  • Object
show all
Defined in:
lib/http_client.rb

Overview

The http request client with retry/timeout behavior

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(base_url, sdk_params) ⇒ HttpClient

Returns a new instance of HttpClient.



51
52
53
54
55
# File 'lib/http_client.rb', line 51

def initialize(base_url, sdk_params)
  @base_url = base_url
  @sdk_params = sdk_params
  @is_unauthorized = false
end

Instance Attribute Details

#is_unauthorizedObject (readonly)

Returns the value of attribute is_unauthorized.



41
42
43
# File 'lib/http_client.rb', line 41

def is_unauthorized
  @is_unauthorized
end

Instance Method Details

#get(resource) ⇒ Object



57
58
59
60
61
62
63
64
65
66
67
# File 'lib/http_client.rb', line 57

def get(resource)
  conn = Faraday::Connection.new(@base_url, params: @sdk_params) do |f|
    f.request :retry, @retry_options
  end
  conn.options.timeout = REQUEST_TIMEOUT_SECONDS
  response = conn.get(resource)
  @is_unauthorized = response.status == 401
  raise get_http_error(response.status, resource) if response.status != 200

  JSON.parse(response.body)
end