11# frozen_string_literal: true
2+
23require_relative "environment"
34require "faraday"
45require "faraday/multipart"
56require "faraday/retry"
6- require "faraday"
7- require "faraday"
8- require "faraday/multipart"
97require "async/http/faraday"
10- require "faraday/retry"
118
129module Vapi
1310 class RequestClient
14- # @return [Faraday]
11+ # @return [Faraday]
1512 attr_reader :conn
16- # @return [String]
13+ # @return [String]
1714 attr_reader :base_url
18- # @return [String]
15+ # @return [String]
1916 attr_reader :token
20- # @return [String]
17+ # @return [String]
2118 attr_reader :default_environment
2219
23-
24- # @param base_url [String]
25- # @param environment [Vapi::Environment]
20+ # @param base_url [String]
21+ # @param environment [Vapi::Environment]
2622 # @param max_retries [Long] The number of times to retry a failed request, defaults to 2.
27- # @param timeout_in_seconds [Long]
28- # @param token [String]
23+ # @param timeout_in_seconds [Long]
24+ # @param token [String]
2925 # @return [Vapi::RequestClient]
30- def initialize ( base_url : nil , environment : Vapi ::Environment ::DEFAULT , max_retries : nil , timeout_in_seconds : nil , token :)
26+ def initialize ( token :, base_url : nil , environment : Vapi ::Environment ::DEFAULT , max_retries : nil ,
27+ timeout_in_seconds : nil )
3128 @default_environment = environment
3229 @base_url = environment || base_url
3330 @token = "Bearer #{ token } "
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
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
4538 end
46- # @param request_options [Vapi::RequestOptions]
39+
40+ # @param request_options [Vapi::RequestOptions]
4741 # @return [String]
4842 def get_url ( request_options : nil )
4943 request_options &.base_url || @default_environment || @base_url
5044 end
45+
5146 # @return [Hash{String => String}]
5247 def get_headers
53- headers = { "X-Fern-Language" : ' Ruby' , "X-Fern-SDK-Name" : ' vapi_server_sdk' , "X-Fern-SDK-Version" : ' 0.9.0' }
48+ headers = { "X-Fern-Language" : " Ruby" , "X-Fern-SDK-Name" : " vapi_server_sdk" , "X-Fern-SDK-Version" : " 0.9.1" }
5449 headers [ "Authorization" ] = ( ( @token . is_a? Method ) ? @token . call : @token ) unless @token . nil?
55- headers
50+ headers
5651 end
5752 end
53+
5854 class AsyncRequestClient
59- # @return [Faraday]
55+ # @return [Faraday]
6056 attr_reader :conn
61- # @return [String]
57+ # @return [String]
6258 attr_reader :base_url
63- # @return [String]
59+ # @return [String]
6460 attr_reader :token
65- # @return [String]
61+ # @return [String]
6662 attr_reader :default_environment
6763
68-
69- # @param base_url [String]
70- # @param environment [Vapi::Environment]
64+ # @param base_url [String]
65+ # @param environment [Vapi::Environment]
7166 # @param max_retries [Long] The number of times to retry a failed request, defaults to 2.
72- # @param timeout_in_seconds [Long]
73- # @param token [String]
67+ # @param timeout_in_seconds [Long]
68+ # @param token [String]
7469 # @return [Vapi::AsyncRequestClient]
75- def initialize ( base_url : nil , environment : Vapi ::Environment ::DEFAULT , max_retries : nil , timeout_in_seconds : nil , token :)
70+ def initialize ( token :, base_url : nil , environment : Vapi ::Environment ::DEFAULT , max_retries : nil ,
71+ timeout_in_seconds : nil )
7672 @default_environment = environment
7773 @base_url = environment || base_url
7874 @token = "Bearer #{ token } "
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
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
9183 end
92- # @param request_options [Vapi::RequestOptions]
84+
85+ # @param request_options [Vapi::RequestOptions]
9386 # @return [String]
9487 def get_url ( request_options : nil )
9588 request_options &.base_url || @default_environment || @base_url
9689 end
90+
9791 # @return [Hash{String => String}]
9892 def get_headers
99- headers = { "X-Fern-Language" : ' Ruby' , "X-Fern-SDK-Name" : ' vapi_server_sdk' , "X-Fern-SDK-Version" : ' 0.9.0' }
93+ headers = { "X-Fern-Language" : " Ruby" , "X-Fern-SDK-Name" : " vapi_server_sdk" , "X-Fern-SDK-Version" : " 0.9.1" }
10094 headers [ "Authorization" ] = ( ( @token . is_a? Method ) ? @token . call : @token ) unless @token . nil?
101- headers
95+ headers
10296 end
10397 end
104- # Additional options for request-specific configuration when calling APIs via the
105- # SDK.
98+
99+ # Additional options for request-specific configuration when calling APIs via the
100+ # SDK.
106101 class RequestOptions
107- # @return [String]
102+ # @return [String]
108103 attr_reader :base_url
109- # @return [String]
104+ # @return [String]
110105 attr_reader :token
111- # @return [Hash{String => Object}]
106+ # @return [Hash{String => Object}]
112107 attr_reader :additional_headers
113- # @return [Hash{String => Object}]
108+ # @return [Hash{String => Object}]
114109 attr_reader :additional_query_parameters
115- # @return [Hash{String => Object}]
110+ # @return [Hash{String => Object}]
116111 attr_reader :additional_body_parameters
117- # @return [Long]
112+ # @return [Long]
118113 attr_reader :timeout_in_seconds
119114
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]
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]
127121 # @return [Vapi::RequestOptions]
128- def initialize ( base_url : nil , token : nil , additional_headers : nil , additional_query_parameters : nil , additional_body_parameters : nil , timeout_in_seconds : nil )
122+ def initialize ( base_url : nil , token : nil , additional_headers : nil , additional_query_parameters : nil ,
123+ additional_body_parameters : nil , timeout_in_seconds : nil )
129124 @base_url = base_url
130125 @token = token
131126 @additional_headers = additional_headers
@@ -134,31 +129,32 @@ def initialize(base_url: nil, token: nil, additional_headers: nil, additional_qu
134129 @timeout_in_seconds = timeout_in_seconds
135130 end
136131 end
137- # Additional options for request-specific configuration when calling APIs via the
138- # SDK.
132+
133+ # Additional options for request-specific configuration when calling APIs via the
134+ # SDK.
139135 class IdempotencyRequestOptions
140- # @return [String]
136+ # @return [String]
141137 attr_reader :base_url
142- # @return [String]
138+ # @return [String]
143139 attr_reader :token
144- # @return [Hash{String => Object}]
140+ # @return [Hash{String => Object}]
145141 attr_reader :additional_headers
146- # @return [Hash{String => Object}]
142+ # @return [Hash{String => Object}]
147143 attr_reader :additional_query_parameters
148- # @return [Hash{String => Object}]
144+ # @return [Hash{String => Object}]
149145 attr_reader :additional_body_parameters
150- # @return [Long]
146+ # @return [Long]
151147 attr_reader :timeout_in_seconds
152148
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]
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]
160155 # @return [Vapi::IdempotencyRequestOptions]
161- def initialize ( base_url : nil , token : nil , additional_headers : nil , additional_query_parameters : nil , additional_body_parameters : nil , timeout_in_seconds : nil )
156+ def initialize ( base_url : nil , token : nil , additional_headers : nil , additional_query_parameters : nil ,
157+ additional_body_parameters : nil , timeout_in_seconds : nil )
162158 @base_url = base_url
163159 @token = token
164160 @additional_headers = additional_headers
@@ -167,4 +163,4 @@ def initialize(base_url: nil, token: nil, additional_headers: nil, additional_qu
167163 @timeout_in_seconds = timeout_in_seconds
168164 end
169165 end
170- end
166+ end
0 commit comments