Class: Merge::AsyncRequestClient
- Inherits:
-
Object
- Object
- Merge::AsyncRequestClient
- Defined in:
- lib/requests.rb
Instance Attribute Summary collapse
- #api_key ⇒ String readonly
- #base_url ⇒ String readonly
- #conn ⇒ Faraday readonly
- #default_environment ⇒ String readonly
Instance Method Summary collapse
- #get_headers ⇒ Hash{String => String}
- #get_url(request_options: nil) ⇒ String
- #initialize(api_key:, base_url: nil, environment: Merge::Environment::PRODUCTION, max_retries: nil, timeout_in_seconds: nil, account_token: nil) ⇒ Merge::AsyncRequestClient constructor
Constructor Details
#initialize(api_key:, base_url: nil, environment: Merge::Environment::PRODUCTION, max_retries: nil, timeout_in_seconds: nil, account_token: nil) ⇒ Merge::AsyncRequestClient
74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 |
# File 'lib/requests.rb', line 74 def initialize(api_key:, base_url: nil, environment: Merge::Environment::PRODUCTION, max_retries: nil, timeout_in_seconds: nil, account_token: nil) @default_environment = environment @base_url = environment || base_url @api_key = "Bearer #{api_key}" @headers = {} @headers["X-Account-Token"] = account_token unless account_token.nil? @conn = Faraday.new(headers: @headers) do |faraday| faraday.request :multipart faraday.request :json faraday.response :raise_error, include_request: true faraday.adapter :async_http faraday.request :retry, { max: max_retries } unless max_retries.nil? faraday..timeout = timeout_in_seconds unless timeout_in_seconds.nil? end end |
Instance Attribute Details
#api_key ⇒ String (readonly)
63 64 65 |
# File 'lib/requests.rb', line 63 def api_key @api_key end |
#base_url ⇒ String (readonly)
61 62 63 |
# File 'lib/requests.rb', line 61 def base_url @base_url end |
#conn ⇒ Faraday (readonly)
59 60 61 |
# File 'lib/requests.rb', line 59 def conn @conn end |
#default_environment ⇒ String (readonly)
65 66 67 |
# File 'lib/requests.rb', line 65 def default_environment @default_environment end |
Instance Method Details
#get_headers ⇒ Hash{String => String}
98 99 100 101 102 |
# File 'lib/requests.rb', line 98 def get_headers headers = { "X-Fern-Language": "Ruby", "X-Fern-SDK-Name": "merge_ruby_client", "X-Fern-SDK-Version": "0.1.4" } headers["Authorization"] = ((@api_key.is_a? Method) ? @api_key.call : @api_key) unless @api_key.nil? headers end |
#get_url(request_options: nil) ⇒ String
93 94 95 |
# File 'lib/requests.rb', line 93 def get_url(request_options: nil) &.base_url || @default_environment || @base_url end |