class Turbopuffer::Internal::Transport::BaseClient

def initialize(

Parameters:
  • idempotency_header (String, nil) --
  • headers (Hash{String=>String, Integer, Array, nil}) --
  • max_retry_delay (Float) --
  • initial_retry_delay (Float) --
  • max_retries (Integer) --
  • timeout (Float) --
  • base_url (String) --

Other tags:
    Api: - private
def initialize(
  base_url:,
  timeout: 0.0,
  max_retries: 0,
  initial_retry_delay: 0.0,
  max_retry_delay: 0.0,
  headers: {},
  idempotency_header: nil
)
  @requester = Turbopuffer::Internal::Transport::PooledNetRequester.new
  @headers = Turbopuffer::Internal::Util.normalized_headers(
    self.class::PLATFORM_HEADERS,
    {
      "accept" => "application/json",
      "content-type" => "application/json"
    },
    headers
  )
  @base_url_components = Turbopuffer::Internal::Util.parse_uri(base_url)
  @base_url = Turbopuffer::Internal::Util.unparse_uri(@base_url_components)
  @idempotency_header = idempotency_header&.to_s&.downcase
  @timeout = timeout
  @max_retries = max_retries
  @initial_retry_delay = initial_retry_delay
  @max_retry_delay = max_retry_delay
end