11# frozen_string_literal: true
2-
32require_relative "environment"
43require "faraday"
54require "faraday/multipart"
65require "faraday/retry"
6+ require "faraday"
7+ require "faraday"
8+ require "faraday/multipart"
79require "async/http/faraday"
10+ require "faraday/retry"
811
912module Vapi
1013 class RequestClient
11- # @return [Faraday]
14+ # @return [Faraday]
1215 attr_reader :conn
13- # @return [String]
16+ # @return [String]
1417 attr_reader :base_url
15- # @return [String]
18+ # @return [String]
1619 attr_reader :token
17- # @return [String]
20+ # @return [String]
1821 attr_reader :default_environment
1922
20- # @param base_url [String]
21- # @param environment [Vapi::Environment]
23+
24+ # @param base_url [String]
25+ # @param environment [Vapi::Environment]
2226 # @param max_retries [Long] The number of times to retry a failed request, defaults to 2.
23- # @param timeout_in_seconds [Long]
24- # @param token [String]
27+ # @param timeout_in_seconds [Long]
28+ # @param token [String]
2529 # @return [Vapi::RequestClient]
26- def initialize ( token :, base_url : nil , environment : Vapi ::Environment ::DEFAULT , max_retries : nil ,
27- timeout_in_seconds : nil )
30+ def initialize ( base_url : nil , environment : Vapi ::Environment ::DEFAULT , max_retries : nil , timeout_in_seconds : nil , token :)
2831 @default_environment = environment
2932 @base_url = environment || base_url
3033 @token = "Bearer #{ token } "
31- @conn = Faraday . new do |faraday |
32- faraday . request :multipart
33- faraday . request :json
34- faraday . response :raise_error , include_request : true
35- faraday . request :retry , { max : max_retries } unless max_retries . nil?
36- faraday . options . timeout = timeout_in_seconds unless timeout_in_seconds . nil?
37- end
34+ @conn = Faraday . new do | faraday |
35+ faraday . request :multipart
36+ faraday . request :json
37+ faraday . response :raise_error , include_request : true
38+ unless max_retries . nil?
39+ faraday . request :retry , { max : max_retries }
40+ end
41+ unless timeout_in_seconds . nil?
42+ faraday . options . timeout = timeout_in_seconds
43+ end
44+ end
3845 end
39-
40- # @param request_options [Vapi::RequestOptions]
46+ # @param request_options [Vapi::RequestOptions]
4147 # @return [String]
4248 def get_url ( request_options : nil )
4349 request_options &.base_url || @default_environment || @base_url
4450 end
45-
4651 # @return [Hash{String => String}]
4752 def get_headers
48- headers = { "X-Fern-Language" : " Ruby" , "X-Fern-SDK-Name" : " vapi_server_sdk" , "X-Fern-SDK-Version" : " 0.8.1" }
53+ headers = { "X-Fern-Language" : ' Ruby' , "X-Fern-SDK-Name" : ' vapi_server_sdk' , "X-Fern-SDK-Version" : ' 0.8.2' }
4954 headers [ "Authorization" ] = ( ( @token . is_a? Method ) ? @token . call : @token ) unless @token . nil?
50- headers
55+ headers
5156 end
5257 end
53-
5458 class AsyncRequestClient
55- # @return [Faraday]
59+ # @return [Faraday]
5660 attr_reader :conn
57- # @return [String]
61+ # @return [String]
5862 attr_reader :base_url
59- # @return [String]
63+ # @return [String]
6064 attr_reader :token
61- # @return [String]
65+ # @return [String]
6266 attr_reader :default_environment
6367
64- # @param base_url [String]
65- # @param environment [Vapi::Environment]
68+
69+ # @param base_url [String]
70+ # @param environment [Vapi::Environment]
6671 # @param max_retries [Long] The number of times to retry a failed request, defaults to 2.
67- # @param timeout_in_seconds [Long]
68- # @param token [String]
72+ # @param timeout_in_seconds [Long]
73+ # @param token [String]
6974 # @return [Vapi::AsyncRequestClient]
70- def initialize ( token :, base_url : nil , environment : Vapi ::Environment ::DEFAULT , max_retries : nil ,
71- timeout_in_seconds : nil )
75+ def initialize ( base_url : nil , environment : Vapi ::Environment ::DEFAULT , max_retries : nil , timeout_in_seconds : nil , token :)
7276 @default_environment = environment
7377 @base_url = environment || base_url
7478 @token = "Bearer #{ token } "
75- @conn = Faraday . new do |faraday |
76- faraday . request :multipart
77- faraday . request :json
78- faraday . response :raise_error , include_request : true
79- faraday . adapter :async_http
80- faraday . request :retry , { max : max_retries } unless max_retries . nil?
81- faraday . options . timeout = timeout_in_seconds unless timeout_in_seconds . nil?
82- end
79+ @conn = Faraday . new do | faraday |
80+ faraday . request :multipart
81+ faraday . request :json
82+ faraday . response :raise_error , include_request : true
83+ faraday . adapter :async_http
84+ unless max_retries . nil?
85+ faraday . request :retry , { max : max_retries }
86+ end
87+ unless timeout_in_seconds . nil?
88+ faraday . options . timeout = timeout_in_seconds
89+ end
90+ end
8391 end
84-
85- # @param request_options [Vapi::RequestOptions]
92+ # @param request_options [Vapi::RequestOptions]
8693 # @return [String]
8794 def get_url ( request_options : nil )
8895 request_options &.base_url || @default_environment || @base_url
8996 end
90-
9197 # @return [Hash{String => String}]
9298 def get_headers
93- headers = { "X-Fern-Language" : " Ruby" , "X-Fern-SDK-Name" : " vapi_server_sdk" , "X-Fern-SDK-Version" : " 0.8.1" }
99+ headers = { "X-Fern-Language" : ' Ruby' , "X-Fern-SDK-Name" : ' vapi_server_sdk' , "X-Fern-SDK-Version" : ' 0.8.2' }
94100 headers [ "Authorization" ] = ( ( @token . is_a? Method ) ? @token . call : @token ) unless @token . nil?
95- headers
101+ headers
96102 end
97103 end
98-
99- # Additional options for request-specific configuration when calling APIs via the
100- # SDK.
104+ # Additional options for request-specific configuration when calling APIs via the
105+ # SDK.
101106 class RequestOptions
102- # @return [String]
107+ # @return [String]
103108 attr_reader :base_url
104- # @return [String]
109+ # @return [String]
105110 attr_reader :token
106- # @return [Hash{String => Object}]
111+ # @return [Hash{String => Object}]
107112 attr_reader :additional_headers
108- # @return [Hash{String => Object}]
113+ # @return [Hash{String => Object}]
109114 attr_reader :additional_query_parameters
110- # @return [Hash{String => Object}]
115+ # @return [Hash{String => Object}]
111116 attr_reader :additional_body_parameters
112- # @return [Long]
117+ # @return [Long]
113118 attr_reader :timeout_in_seconds
114119
115- # @param base_url [String]
116- # @param token [String]
117- # @param additional_headers [Hash{String => Object}]
118- # @param additional_query_parameters [Hash{String => Object}]
119- # @param additional_body_parameters [Hash{String => Object}]
120- # @param timeout_in_seconds [Long]
120+
121+ # @param base_url [String]
122+ # @param token [String]
123+ # @param additional_headers [Hash{String => Object}]
124+ # @param additional_query_parameters [Hash{String => Object}]
125+ # @param additional_body_parameters [Hash{String => Object}]
126+ # @param timeout_in_seconds [Long]
121127 # @return [Vapi::RequestOptions]
122- def initialize ( base_url : nil , token : nil , additional_headers : nil , additional_query_parameters : nil ,
123- additional_body_parameters : nil , timeout_in_seconds : nil )
128+ def initialize ( base_url : nil , token : nil , additional_headers : nil , additional_query_parameters : nil , additional_body_parameters : nil , timeout_in_seconds : nil )
124129 @base_url = base_url
125130 @token = token
126131 @additional_headers = additional_headers
@@ -129,32 +134,31 @@ def initialize(base_url: nil, token: nil, additional_headers: nil, additional_qu
129134 @timeout_in_seconds = timeout_in_seconds
130135 end
131136 end
132-
133- # Additional options for request-specific configuration when calling APIs via the
134- # SDK.
137+ # Additional options for request-specific configuration when calling APIs via the
138+ # SDK.
135139 class IdempotencyRequestOptions
136- # @return [String]
140+ # @return [String]
137141 attr_reader :base_url
138- # @return [String]
142+ # @return [String]
139143 attr_reader :token
140- # @return [Hash{String => Object}]
144+ # @return [Hash{String => Object}]
141145 attr_reader :additional_headers
142- # @return [Hash{String => Object}]
146+ # @return [Hash{String => Object}]
143147 attr_reader :additional_query_parameters
144- # @return [Hash{String => Object}]
148+ # @return [Hash{String => Object}]
145149 attr_reader :additional_body_parameters
146- # @return [Long]
150+ # @return [Long]
147151 attr_reader :timeout_in_seconds
148152
149- # @param base_url [String]
150- # @param token [String]
151- # @param additional_headers [Hash{String => Object}]
152- # @param additional_query_parameters [Hash{String => Object}]
153- # @param additional_body_parameters [Hash{String => Object}]
154- # @param timeout_in_seconds [Long]
153+
154+ # @param base_url [String]
155+ # @param token [String]
156+ # @param additional_headers [Hash{String => Object}]
157+ # @param additional_query_parameters [Hash{String => Object}]
158+ # @param additional_body_parameters [Hash{String => Object}]
159+ # @param timeout_in_seconds [Long]
155160 # @return [Vapi::IdempotencyRequestOptions]
156- def initialize ( base_url : nil , token : nil , additional_headers : nil , additional_query_parameters : nil ,
157- additional_body_parameters : nil , timeout_in_seconds : nil )
161+ def initialize ( base_url : nil , token : nil , additional_headers : nil , additional_query_parameters : nil , additional_body_parameters : nil , timeout_in_seconds : nil )
158162 @base_url = base_url
159163 @token = token
160164 @additional_headers = additional_headers
@@ -163,4 +167,4 @@ def initialize(base_url: nil, token: nil, additional_headers: nil, additional_qu
163167 @timeout_in_seconds = timeout_in_seconds
164168 end
165169 end
166- end
170+ end
0 commit comments