class OnebusawaySDK::Internal::Transport::BaseClient
def send_request(request, redirect_count:, retry_count:, send_retry_header:)
-
(Array(Integer, Net::HTTPResponse, Enumerable
-))
Raises:
-
(OnebusawaySDK::Errors::APIError)
-
Parameters:
-
send_retry_header
(Boolean
) -- -
retry_count
(Integer
) -- -
redirect_count
(Integer
) -- -
request
(Hash{Symbol=>Object}
) -- .
Options Hash:
(**request)
-
:timeout
(Float
) -- -
:max_retries
(Integer
) -- -
:body
(Object
) -- -
:headers
(Hash{String=>String}
) -- -
:url
(URI::Generic
) -- -
:method
(Symbol
) --
Other tags:
- Api: - private
def send_request(request, redirect_count:, retry_count:, send_retry_header:) eaders, max_retries, timeout = request.fetch_values(:url, :headers, :max_retries, :timeout) = { quest.except(:timeout), line: OnebusawaySDK::Internal::Util.monotonic_secs + timeout d_retry_header ers["x-stainless-retry-count"] = retry_count.to_s us, response, stream = @requester.execute(input) OnebusawaySDK::Errors::APIConnectionError => e us = e tatus 99 tus, response, stream] ..399 if redirect_count >= self.class::MAX_REDIRECTS .class.reap_connection!(status, stream: stream) age = "Failed to complete the request within #{self.class::MAX_REDIRECTS} redirects." e OnebusawaySDK::Errors::APIConnectionError.new( l: url, sponse: response, ssage: message ..399 .class.reap_connection!(status, stream: stream) est = self.class.follow_redirect(request, status: status, response_headers: response) _request( quest, direct_count: redirect_count + 1, try_count: retry_count, nd_retry_header: send_retry_header busawaySDK::Errors::APIConnectionError if retry_count >= max_retries e status 0..) if retry_count >= max_retries || !self.class.should_retry?(status, headers: response) ded = Kernel.then do ebusawaySDK::Internal::Util.decode_content(response, stream: stream, suppress_error: true) re lf.class.reap_connection!(status, stream: stream) e OnebusawaySDK::Errors::APIStatusError.for( l: url, atus: status, dy: decoded, quest: nil, sponse: response 0..) | OnebusawaySDK::Errors::APIConnectionError .class.reap_connection!(status, stream: stream) y = retry_delay(response || {}, retry_count: retry_count) p(delay) _request( quest, direct_count: redirect_count, try_count: retry_count + 1, nd_retry_header: send_retry_header