1
1
# frozen_string_literal: true
2
-
3
2
require_relative "environment"
4
3
require "faraday"
5
4
require "faraday/multipart"
6
5
require "faraday/retry"
6
+ require "faraday"
7
+ require "faraday"
8
+ require "faraday/multipart"
7
9
require "async/http/faraday"
10
+ require "faraday/retry"
8
11
9
12
module Vapi
10
13
class RequestClient
11
- # @return [Faraday]
14
+ # @return [Faraday]
12
15
attr_reader :conn
13
- # @return [String]
16
+ # @return [String]
14
17
attr_reader :base_url
15
- # @return [String]
18
+ # @return [String]
16
19
attr_reader :token
17
- # @return [String]
20
+ # @return [String]
18
21
attr_reader :default_environment
19
22
20
- # @param base_url [String]
21
- # @param environment [Vapi::Environment]
23
+
24
+ # @param base_url [String]
25
+ # @param environment [Vapi::Environment]
22
26
# @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]
25
29
# @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 :)
28
31
@default_environment = environment
29
32
@base_url = environment || base_url
30
33
@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
38
45
end
39
-
40
- # @param request_options [Vapi::RequestOptions]
46
+ # @param request_options [Vapi::RequestOptions]
41
47
# @return [String]
42
48
def get_url ( request_options : nil )
43
49
request_options &.base_url || @default_environment || @base_url
44
50
end
45
-
46
51
# @return [Hash{String => String}]
47
52
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' }
49
54
headers [ "Authorization" ] = ( ( @token . is_a? Method ) ? @token . call : @token ) unless @token . nil?
50
- headers
55
+ headers
51
56
end
52
57
end
53
-
54
58
class AsyncRequestClient
55
- # @return [Faraday]
59
+ # @return [Faraday]
56
60
attr_reader :conn
57
- # @return [String]
61
+ # @return [String]
58
62
attr_reader :base_url
59
- # @return [String]
63
+ # @return [String]
60
64
attr_reader :token
61
- # @return [String]
65
+ # @return [String]
62
66
attr_reader :default_environment
63
67
64
- # @param base_url [String]
65
- # @param environment [Vapi::Environment]
68
+
69
+ # @param base_url [String]
70
+ # @param environment [Vapi::Environment]
66
71
# @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]
69
74
# @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 :)
72
76
@default_environment = environment
73
77
@base_url = environment || base_url
74
78
@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
83
91
end
84
-
85
- # @param request_options [Vapi::RequestOptions]
92
+ # @param request_options [Vapi::RequestOptions]
86
93
# @return [String]
87
94
def get_url ( request_options : nil )
88
95
request_options &.base_url || @default_environment || @base_url
89
96
end
90
-
91
97
# @return [Hash{String => String}]
92
98
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' }
94
100
headers [ "Authorization" ] = ( ( @token . is_a? Method ) ? @token . call : @token ) unless @token . nil?
95
- headers
101
+ headers
96
102
end
97
103
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.
101
106
class RequestOptions
102
- # @return [String]
107
+ # @return [String]
103
108
attr_reader :base_url
104
- # @return [String]
109
+ # @return [String]
105
110
attr_reader :token
106
- # @return [Hash{String => Object}]
111
+ # @return [Hash{String => Object}]
107
112
attr_reader :additional_headers
108
- # @return [Hash{String => Object}]
113
+ # @return [Hash{String => Object}]
109
114
attr_reader :additional_query_parameters
110
- # @return [Hash{String => Object}]
115
+ # @return [Hash{String => Object}]
111
116
attr_reader :additional_body_parameters
112
- # @return [Long]
117
+ # @return [Long]
113
118
attr_reader :timeout_in_seconds
114
119
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]
121
127
# @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 )
124
129
@base_url = base_url
125
130
@token = token
126
131
@additional_headers = additional_headers
@@ -129,32 +134,31 @@ def initialize(base_url: nil, token: nil, additional_headers: nil, additional_qu
129
134
@timeout_in_seconds = timeout_in_seconds
130
135
end
131
136
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.
135
139
class IdempotencyRequestOptions
136
- # @return [String]
140
+ # @return [String]
137
141
attr_reader :base_url
138
- # @return [String]
142
+ # @return [String]
139
143
attr_reader :token
140
- # @return [Hash{String => Object}]
144
+ # @return [Hash{String => Object}]
141
145
attr_reader :additional_headers
142
- # @return [Hash{String => Object}]
146
+ # @return [Hash{String => Object}]
143
147
attr_reader :additional_query_parameters
144
- # @return [Hash{String => Object}]
148
+ # @return [Hash{String => Object}]
145
149
attr_reader :additional_body_parameters
146
- # @return [Long]
150
+ # @return [Long]
147
151
attr_reader :timeout_in_seconds
148
152
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]
155
160
# @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 )
158
162
@base_url = base_url
159
163
@token = token
160
164
@additional_headers = additional_headers
@@ -163,4 +167,4 @@ def initialize(base_url: nil, token: nil, additional_headers: nil, additional_qu
163
167
@timeout_in_seconds = timeout_in_seconds
164
168
end
165
169
end
166
- end
170
+ end
0 commit comments