Class: Samsara::RequestClient
- Inherits:
-
Object
- Object
- Samsara::RequestClient
- Defined in:
- lib/requests.rb
Instance Attribute Summary collapse
- #base_url ⇒ String readonly
- #conn ⇒ Faraday readonly
- #default_environment ⇒ String readonly
- #token ⇒ String readonly
Instance Method Summary collapse
- #get_headers ⇒ Hash{String => String}
- #get_url(request_options: nil) ⇒ String
- #initialize(base_url: nil, environment: Samsara::Environment::PRODUCTION_API, max_retries: nil, timeout_in_seconds: nil, token: ENV["SAMSARA_API_KEY"]) ⇒ Samsara::RequestClient constructor
Constructor Details
#initialize(base_url: nil, environment: Samsara::Environment::PRODUCTION_API, max_retries: nil, timeout_in_seconds: nil, token: ENV["SAMSARA_API_KEY"]) ⇒ Samsara::RequestClient
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/requests.rb', line 28 def initialize(base_url: nil, environment: Samsara::Environment::PRODUCTION_API, max_retries: nil, timeout_in_seconds: nil, token: ENV["SAMSARA_API_KEY"]) @default_environment = environment @base_url = environment || base_url @token = "Bearer #{token}" @conn = Faraday.new do | faraday | faraday.request :json faraday.response :raise_error, include_request: true unless max_retries.nil? faraday.request :retry , { max: max_retries } end unless timeout_in_seconds.nil? faraday..timeout = timeout_in_seconds end end end |
Instance Attribute Details
#base_url ⇒ String (readonly)
15 16 17 |
# File 'lib/requests.rb', line 15 def base_url @base_url end |
#conn ⇒ Faraday (readonly)
13 14 15 |
# File 'lib/requests.rb', line 13 def conn @conn end |
#default_environment ⇒ String (readonly)
19 20 21 |
# File 'lib/requests.rb', line 19 def default_environment @default_environment end |
#token ⇒ String (readonly)
17 18 19 |
# File 'lib/requests.rb', line 17 def token @token end |
Instance Method Details
#get_headers ⇒ Hash{String => String}
49 50 51 52 53 |
# File 'lib/requests.rb', line 49 def get_headers headers = { "X-Fern-Language": 'Ruby', "X-Fern-SDK-Name": 'samsara_api', "X-Fern-SDK-Version": '0.0.228' } headers["Authorization"] = ((@token.is_a? Method) ? @token.call : @token) unless @token.nil? headers end |
#get_url(request_options: nil) ⇒ String
45 46 47 |
# File 'lib/requests.rb', line 45 def get_url(request_options: nil) &.base_url || @default_environment || @base_url end |