Class: CandidApiClient::RequestClient

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(base_url: nil, environment: CandidApiClient::Environment::PRODUCTION, max_retries: nil, timeout_in_seconds: nil, token: nil) ⇒ CandidApiClient::RequestClient

Parameters:

  • base_url (String) (defaults to: nil)
  • environment (CandidApiClient::Environment) (defaults to: CandidApiClient::Environment::PRODUCTION)
  • max_retries (Long) (defaults to: nil)

    The number of times to retry a failed request, defaults to 2.

  • timeout_in_seconds (Long) (defaults to: nil)
  • token (String, Method) (defaults to: nil)


25
26
27
28
29
30
31
32
33
34
35
# File 'lib/requests.rb', line 25

def initialize(base_url: nil, environment: CandidApiClient::Environment::PRODUCTION, max_retries: nil,
               timeout_in_seconds: nil, token: nil)
  @default_environment = environment
  @token = token
  @conn = Faraday.new do |faraday|
    faraday.request :json
    faraday.response :raise_error, include_request: true
    faraday.request :retry, { max: max_retries } unless max_retries.nil?
    faraday.options.timeout = timeout_in_seconds unless timeout_in_seconds.nil?
  end
end

Instance Attribute Details

#base_urlString (readonly)

Returns:

  • (String)


13
14
15
# File 'lib/requests.rb', line 13

def base_url
  @base_url
end

#connFaraday (readonly)

Returns:

  • (Faraday)


11
12
13
# File 'lib/requests.rb', line 11

def conn
  @conn
end

#default_environmentString (readonly)

Returns:

  • (String)


17
18
19
# File 'lib/requests.rb', line 17

def default_environment
  @default_environment
end

#tokenString, Method (readonly)

Returns:

  • (String, Method)


15
16
17
# File 'lib/requests.rb', line 15

def token
  @token
end

Instance Method Details

#get_headersHash{String => String}

Returns:

  • (Hash{String => String})


45
46
47
48
49
# File 'lib/requests.rb', line 45

def get_headers
  headers = { "X-Fern-Language": "Ruby", "X-Fern-SDK-Name": "candidhealth", "X-Fern-SDK-Version": "0.35.1" }
  headers["Authorization"] = ((@token.is_a? Method) ? @token.call : @token) unless token.nil?
  headers
end

#get_url(environment:, request_options: nil) ⇒ String

Parameters:

Returns:

  • (String)


40
41
42
# File 'lib/requests.rb', line 40

def get_url(environment:, request_options: nil)
  request_options&.base_url || @default_environment[environment] || @base_url
end