Class: Vellum::AsyncRequestClient

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: Vellum::Environment::PRODUCTION, max_retries: nil, timeout_in_seconds: nil, api_key:, api_version: nil) ⇒ Vellum::AsyncRequestClient

Parameters:

  • base_url (String) (defaults to: nil)
  • environment (Vellum::Environment) (defaults to: Vellum::Environment::PRODUCTION)
  • max_retries (Long) (defaults to: nil)

    The number of times to retry a failed request, defaults to 2.

  • timeout_in_seconds (Long) (defaults to: nil)
  • api_key (String)
  • api_version (Vellum::ApiVersionEnum) (defaults to: nil)


82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
# File 'lib/requests.rb', line 82

def initialize(base_url: nil, environment: Vellum::Environment::PRODUCTION, max_retries: nil, timeout_in_seconds: nil, api_key:, api_version: nil)
  @default_environment = environment
  @api_key = api_key
  @headers = {  }
  unless api_version.nil?
    @headers["X-API-Version"] = api_version
  end
  @conn = Faraday.new(headers: @headers) do | faraday |
  faraday.request :multipart
  faraday.request :json
  faraday.response :raise_error, include_request: true
  faraday.adapter :async_http
  unless max_retries.nil?
faraday.request :retry ,  { max: max_retries }
  end
  unless timeout_in_seconds.nil?
faraday.options.timeout = timeout_in_seconds
  end
end
end

Instance Attribute Details

#api_keyString (readonly)

Returns:

  • (String)


70
71
72
# File 'lib/requests.rb', line 70

def api_key
  @api_key
end

#base_urlString (readonly)

Returns:

  • (String)


68
69
70
# File 'lib/requests.rb', line 68

def base_url
  @base_url
end

#connFaraday (readonly)

Returns:

  • (Faraday)


66
67
68
# File 'lib/requests.rb', line 66

def conn
  @conn
end

#default_environmentString (readonly)

Returns:

  • (String)


72
73
74
# File 'lib/requests.rb', line 72

def default_environment
  @default_environment
end

Instance Method Details

#get_headersHash{String => String}

Returns:

  • (Hash{String => String})


109
110
111
112
113
# File 'lib/requests.rb', line 109

def get_headers
  headers = { "X-Fern-Language": 'Ruby', "X-Fern-SDK-Name": 'vellum_ai', "X-Fern-SDK-Version": '1.3.1' }
  headers["X-API-KEY"] = ((@api_key.is_a? Method) ? @api_key.call : @api_key) unless @api_key.nil?
 headers
end

#get_url(request_options: nil, environment:) ⇒ String

Parameters:

Returns:

  • (String)


105
106
107
# File 'lib/requests.rb', line 105

def get_url(request_options: nil, environment:)
  request_options&.base_url || @default_environment[environment] || @base_url
end