Class: Ittybit::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: Ittybit::Environment::DEFAULT, max_retries: nil, timeout_in_seconds: nil, api_key: ENV["ITTYBIT_API_KEY"], version: nil) ⇒ Ittybit::RequestClient



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

def initialize(base_url: nil, environment: Ittybit::Environment::DEFAULT, max_retries: nil,
               timeout_in_seconds: nil, api_key: ENV["ITTYBIT_API_KEY"], version: nil)
  @default_environment = environment
  @base_url = environment || base_url
  @api_key = "Bearer #{api_key}"
  @headers = {}
  @headers["ACCEPT_VERSION"] = version unless version.nil?
  @conn = Faraday.new(headers: @headers) 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

#api_keyString (readonly)



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

def api_key
  @api_key
end

#base_urlString (readonly)



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

def base_url
  @base_url
end

#connFaraday (readonly)



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

def conn
  @conn
end

#default_environmentString (readonly)



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

def default_environment
  @default_environment
end

Instance Method Details

#get_headersHash{String => String}



48
49
50
51
52
# File 'lib/requests.rb', line 48

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

#get_url(request_options: nil) ⇒ String



43
44
45
# File 'lib/requests.rb', line 43

def get_url(request_options: nil)
  request_options&.base_url || @default_environment || @base_url
end