speakeasy_client_sdk_ruby 1.14.0 → 1.15.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f0bad8575d972ac91e883d81ea26ca53b3600980235334d2c0305d83c9e171b2
4
- data.tar.gz: 7c6827f59565718a0f48adf1bc4b8b533560ba03ad9e38e2914648cc7519be89
3
+ metadata.gz: 70cef5bef1d0e9fb233b0ae1441838c2f49db47a22d35de5bdbf28cb2e9500e8
4
+ data.tar.gz: f096032e248c0e3dbe3c67d9e514a5d42d4d351d943aeeb39f730c349b5363c9
5
5
  SHA512:
6
- metadata.gz: accd6dc3bd6284c5dd81834753e2643818fc32cad334e2ce7ec5bdc6b68503a17075513473babfff8105b5a6f0e90de2c1d394d42928906cc46faff86ed1daf9
7
- data.tar.gz: 9ca3d7c08a1f6c596513288445c2801f704cce7398138d895ef7b74749c0133abb1aac2dd058c1abc6c66a05441ff4414e61a075af783cb12ce6c0a89ee26fc9
6
+ metadata.gz: f21a6ab86b2a9369374b1cf7f7dacaedd64a983372151abec0a795094020b85aa1ca65669bbb888403d01f6a80a45b9051f4a5a5cd9a32b27942bac14d0e567b
7
+ data.tar.gz: f8ea7efb26086df9519297115478b10728b6991eb257307a4217274635f4fab1af485411994484532ca1c501bd08b119df357daa7de40108ff133dae60d8f844
@@ -10,23 +10,19 @@ require 'sorbet-runtime'
10
10
  module SpeakeasyClientSDK
11
11
  extend T::Sig
12
12
  class ApiEndpoints
13
+ # REST APIs for managing ApiEndpoint entities
13
14
  extend T::Sig
14
- sig { params(sdk: SpeakeasyClientSDK::SDK, client: Faraday::Connection, server_url: String, language: String, sdk_version: String, gen_version: String, openapi_doc_version: String).void }
15
- def initialize(sdk, client, server_url, language, sdk_version, gen_version, openapi_doc_version)
16
- @sdk = sdk
17
- @client = client
18
- @server_url = server_url
19
- @language = language
20
- @sdk_version = sdk_version
21
- @gen_version = gen_version
22
- @openapi_doc_version = openapi_doc_version
15
+ sig { params(sdk_config: SDKConfiguration).void }
16
+ def initialize(sdk_config)
17
+ @sdk_configuration = sdk_config
23
18
  end
24
19
 
25
20
  sig { params(request: Operations::DeleteApiEndpointRequest).returns(Utils::FieldAugmented) }
26
21
  def delete_api_endpoint(request)
27
22
  # delete_api_endpoint - Delete an ApiEndpoint.
28
23
  # Delete an ApiEndpoint. This will also delete all associated Request Logs (if using a Postgres datastore).
29
- base_url = @server_url
24
+ url, params = @sdk_configuration.get_server_details
25
+ base_url = Utils.template_url(url, params)
30
26
  url = Utils.generate_url(
31
27
  Operations::DeleteApiEndpointRequest,
32
28
  base_url,
@@ -35,11 +31,11 @@ module SpeakeasyClientSDK
35
31
  )
36
32
  headers = {}
37
33
  headers['Accept'] = 'application/json'
38
- headers['user-agent'] = "speakeasy-sdk/#{@language} #{@sdk_version} #{@gen_version} #{@openapi_doc_version}"
34
+ headers['user-agent'] = "speakeasy-sdk/#{@sdk_configuration.language} #{@sdk_configuration.sdk_version} #{@sdk_configuration.gen_version} #{@sdk_configuration.openapi_doc_version}"
39
35
 
40
- r = @client.delete(url) do |req|
36
+ r = @sdk_configuration.client.delete(url) do |req|
41
37
  req.headers = headers
42
- Utils.configure_request_security(req, @sdk.security) if !@sdk.nil? && !@sdk.security.nil?
38
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
43
39
  end
44
40
 
45
41
  content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
@@ -62,7 +58,8 @@ module SpeakeasyClientSDK
62
58
  # find_api_endpoint - Find an ApiEndpoint via its displayName.
63
59
  # Find an ApiEndpoint via its displayName (set by operationId from a registered OpenAPI schema).
64
60
  # This is useful for finding the ID of an ApiEndpoint to use in the /v1/apis/{apiID}/version/{versionID}/api_endpoints/{apiEndpointID} endpoints.
65
- base_url = @server_url
61
+ url, params = @sdk_configuration.get_server_details
62
+ base_url = Utils.template_url(url, params)
66
63
  url = Utils.generate_url(
67
64
  Operations::FindApiEndpointRequest,
68
65
  base_url,
@@ -71,11 +68,11 @@ module SpeakeasyClientSDK
71
68
  )
72
69
  headers = {}
73
70
  headers['Accept'] = 'application/json;q=1, application/json;q=0'
74
- headers['user-agent'] = "speakeasy-sdk/#{@language} #{@sdk_version} #{@gen_version} #{@openapi_doc_version}"
71
+ headers['user-agent'] = "speakeasy-sdk/#{@sdk_configuration.language} #{@sdk_configuration.sdk_version} #{@sdk_configuration.gen_version} #{@sdk_configuration.openapi_doc_version}"
75
72
 
76
- r = @client.get(url) do |req|
73
+ r = @sdk_configuration.client.get(url) do |req|
77
74
  req.headers = headers
78
- Utils.configure_request_security(req, @sdk.security) if !@sdk.nil? && !@sdk.security.nil?
75
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
79
76
  end
80
77
 
81
78
  content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
@@ -102,7 +99,8 @@ module SpeakeasyClientSDK
102
99
  # generate_open_api_spec_for_api_endpoint - Generate an OpenAPI specification for a particular ApiEndpoint.
103
100
  # This endpoint will generate a new operation in any registered OpenAPI document if the operation does not already exist in the document.
104
101
  # Returns the original document and the newly generated document allowing a diff to be performed to see what has changed.
105
- base_url = @server_url
102
+ url, params = @sdk_configuration.get_server_details
103
+ base_url = Utils.template_url(url, params)
106
104
  url = Utils.generate_url(
107
105
  Operations::GenerateOpenApiSpecForApiEndpointRequest,
108
106
  base_url,
@@ -111,11 +109,11 @@ module SpeakeasyClientSDK
111
109
  )
112
110
  headers = {}
113
111
  headers['Accept'] = 'application/json;q=1, application/json;q=0'
114
- headers['user-agent'] = "speakeasy-sdk/#{@language} #{@sdk_version} #{@gen_version} #{@openapi_doc_version}"
112
+ headers['user-agent'] = "speakeasy-sdk/#{@sdk_configuration.language} #{@sdk_configuration.sdk_version} #{@sdk_configuration.gen_version} #{@sdk_configuration.openapi_doc_version}"
115
113
 
116
- r = @client.get(url) do |req|
114
+ r = @sdk_configuration.client.get(url) do |req|
117
115
  req.headers = headers
118
- Utils.configure_request_security(req, @sdk.security) if !@sdk.nil? && !@sdk.security.nil?
116
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
119
117
  end
120
118
 
121
119
  content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
@@ -141,7 +139,8 @@ module SpeakeasyClientSDK
141
139
  def generate_postman_collection_for_api_endpoint(request)
142
140
  # generate_postman_collection_for_api_endpoint - Generate a Postman collection for a particular ApiEndpoint.
143
141
  # Generates a postman collection that allows the endpoint to be called from postman variables produced for any path/query/header parameters included in the OpenAPI document.
144
- base_url = @server_url
142
+ url, params = @sdk_configuration.get_server_details
143
+ base_url = Utils.template_url(url, params)
145
144
  url = Utils.generate_url(
146
145
  Operations::GeneratePostmanCollectionForApiEndpointRequest,
147
146
  base_url,
@@ -150,11 +149,11 @@ module SpeakeasyClientSDK
150
149
  )
151
150
  headers = {}
152
151
  headers['Accept'] = 'application/json;q=1, application/octet-stream;q=0'
153
- headers['user-agent'] = "speakeasy-sdk/#{@language} #{@sdk_version} #{@gen_version} #{@openapi_doc_version}"
152
+ headers['user-agent'] = "speakeasy-sdk/#{@sdk_configuration.language} #{@sdk_configuration.sdk_version} #{@sdk_configuration.gen_version} #{@sdk_configuration.openapi_doc_version}"
154
153
 
155
- r = @client.get(url) do |req|
154
+ r = @sdk_configuration.client.get(url) do |req|
156
155
  req.headers = headers
157
- Utils.configure_request_security(req, @sdk.security) if !@sdk.nil? && !@sdk.security.nil?
156
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
158
157
  end
159
158
 
160
159
  content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
@@ -176,7 +175,8 @@ module SpeakeasyClientSDK
176
175
  sig { params(request: Operations::GetAllApiEndpointsRequest).returns(Utils::FieldAugmented) }
177
176
  def get_all_api_endpoints(request)
178
177
  # get_all_api_endpoints - Get all Api endpoints for a particular apiID.
179
- base_url = @server_url
178
+ url, params = @sdk_configuration.get_server_details
179
+ base_url = Utils.template_url(url, params)
180
180
  url = Utils.generate_url(
181
181
  Operations::GetAllApiEndpointsRequest,
182
182
  base_url,
@@ -185,11 +185,11 @@ module SpeakeasyClientSDK
185
185
  )
186
186
  headers = {}
187
187
  headers['Accept'] = 'application/json;q=1, application/json;q=0'
188
- headers['user-agent'] = "speakeasy-sdk/#{@language} #{@sdk_version} #{@gen_version} #{@openapi_doc_version}"
188
+ headers['user-agent'] = "speakeasy-sdk/#{@sdk_configuration.language} #{@sdk_configuration.sdk_version} #{@sdk_configuration.gen_version} #{@sdk_configuration.openapi_doc_version}"
189
189
 
190
- r = @client.get(url) do |req|
190
+ r = @sdk_configuration.client.get(url) do |req|
191
191
  req.headers = headers
192
- Utils.configure_request_security(req, @sdk.security) if !@sdk.nil? && !@sdk.security.nil?
192
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
193
193
  end
194
194
 
195
195
  content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
@@ -214,7 +214,8 @@ module SpeakeasyClientSDK
214
214
  sig { params(request: Operations::GetAllForVersionApiEndpointsRequest).returns(Utils::FieldAugmented) }
215
215
  def get_all_for_version_api_endpoints(request)
216
216
  # get_all_for_version_api_endpoints - Get all ApiEndpoints for a particular apiID and versionID.
217
- base_url = @server_url
217
+ url, params = @sdk_configuration.get_server_details
218
+ base_url = Utils.template_url(url, params)
218
219
  url = Utils.generate_url(
219
220
  Operations::GetAllForVersionApiEndpointsRequest,
220
221
  base_url,
@@ -223,11 +224,11 @@ module SpeakeasyClientSDK
223
224
  )
224
225
  headers = {}
225
226
  headers['Accept'] = 'application/json;q=1, application/json;q=0'
226
- headers['user-agent'] = "speakeasy-sdk/#{@language} #{@sdk_version} #{@gen_version} #{@openapi_doc_version}"
227
+ headers['user-agent'] = "speakeasy-sdk/#{@sdk_configuration.language} #{@sdk_configuration.sdk_version} #{@sdk_configuration.gen_version} #{@sdk_configuration.openapi_doc_version}"
227
228
 
228
- r = @client.get(url) do |req|
229
+ r = @sdk_configuration.client.get(url) do |req|
229
230
  req.headers = headers
230
- Utils.configure_request_security(req, @sdk.security) if !@sdk.nil? && !@sdk.security.nil?
231
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
231
232
  end
232
233
 
233
234
  content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
@@ -252,7 +253,8 @@ module SpeakeasyClientSDK
252
253
  sig { params(request: Operations::GetApiEndpointRequest).returns(Utils::FieldAugmented) }
253
254
  def get_api_endpoint(request)
254
255
  # get_api_endpoint - Get an ApiEndpoint.
255
- base_url = @server_url
256
+ url, params = @sdk_configuration.get_server_details
257
+ base_url = Utils.template_url(url, params)
256
258
  url = Utils.generate_url(
257
259
  Operations::GetApiEndpointRequest,
258
260
  base_url,
@@ -261,11 +263,11 @@ module SpeakeasyClientSDK
261
263
  )
262
264
  headers = {}
263
265
  headers['Accept'] = 'application/json;q=1, application/json;q=0'
264
- headers['user-agent'] = "speakeasy-sdk/#{@language} #{@sdk_version} #{@gen_version} #{@openapi_doc_version}"
266
+ headers['user-agent'] = "speakeasy-sdk/#{@sdk_configuration.language} #{@sdk_configuration.sdk_version} #{@sdk_configuration.gen_version} #{@sdk_configuration.openapi_doc_version}"
265
267
 
266
- r = @client.get(url) do |req|
268
+ r = @sdk_configuration.client.get(url) do |req|
267
269
  req.headers = headers
268
- Utils.configure_request_security(req, @sdk.security) if !@sdk.nil? && !@sdk.security.nil?
270
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
269
271
  end
270
272
 
271
273
  content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
@@ -291,7 +293,8 @@ module SpeakeasyClientSDK
291
293
  def upsert_api_endpoint(request)
292
294
  # upsert_api_endpoint - Upsert an ApiEndpoint.
293
295
  # Upsert an ApiEndpoint. If the ApiEndpoint does not exist it will be created, otherwise it will be updated.
294
- base_url = @server_url
296
+ url, params = @sdk_configuration.get_server_details
297
+ base_url = Utils.template_url(url, params)
295
298
  url = Utils.generate_url(
296
299
  Operations::UpsertApiEndpointRequest,
297
300
  base_url,
@@ -303,11 +306,11 @@ module SpeakeasyClientSDK
303
306
  headers['content-type'] = req_content_type
304
307
  raise StandardError, 'request body is required' if data.nil? && form.nil?
305
308
  headers['Accept'] = 'application/json;q=1, application/json;q=0'
306
- headers['user-agent'] = "speakeasy-sdk/#{@language} #{@sdk_version} #{@gen_version} #{@openapi_doc_version}"
309
+ headers['user-agent'] = "speakeasy-sdk/#{@sdk_configuration.language} #{@sdk_configuration.sdk_version} #{@sdk_configuration.gen_version} #{@sdk_configuration.openapi_doc_version}"
307
310
 
308
- r = @client.put(url) do |req|
311
+ r = @sdk_configuration.client.put(url) do |req|
309
312
  req.headers = headers
310
- Utils.configure_request_security(req, @sdk.security) if !@sdk.nil? && !@sdk.security.nil?
313
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
311
314
  if form
312
315
  req.body = Utils.encode_form(form)
313
316
  elsif Utils.match_content_type(req_content_type, 'application/x-www-form-urlencoded')
data/lib/sdk/apis.rb CHANGED
@@ -10,23 +10,19 @@ require 'sorbet-runtime'
10
10
  module SpeakeasyClientSDK
11
11
  extend T::Sig
12
12
  class Apis
13
+ # REST APIs for managing Api entities
13
14
  extend T::Sig
14
- sig { params(sdk: SpeakeasyClientSDK::SDK, client: Faraday::Connection, server_url: String, language: String, sdk_version: String, gen_version: String, openapi_doc_version: String).void }
15
- def initialize(sdk, client, server_url, language, sdk_version, gen_version, openapi_doc_version)
16
- @sdk = sdk
17
- @client = client
18
- @server_url = server_url
19
- @language = language
20
- @sdk_version = sdk_version
21
- @gen_version = gen_version
22
- @openapi_doc_version = openapi_doc_version
15
+ sig { params(sdk_config: SDKConfiguration).void }
16
+ def initialize(sdk_config)
17
+ @sdk_configuration = sdk_config
23
18
  end
24
19
 
25
20
  sig { params(request: Operations::DeleteApiRequest).returns(Utils::FieldAugmented) }
26
21
  def delete_api(request)
27
22
  # delete_api - Delete an Api.
28
23
  # Delete a particular version of an Api. The will also delete all associated ApiEndpoints, Metadata, Schemas & Request Logs (if using a Postgres datastore).
29
- base_url = @server_url
24
+ url, params = @sdk_configuration.get_server_details
25
+ base_url = Utils.template_url(url, params)
30
26
  url = Utils.generate_url(
31
27
  Operations::DeleteApiRequest,
32
28
  base_url,
@@ -35,11 +31,11 @@ module SpeakeasyClientSDK
35
31
  )
36
32
  headers = {}
37
33
  headers['Accept'] = 'application/json'
38
- headers['user-agent'] = "speakeasy-sdk/#{@language} #{@sdk_version} #{@gen_version} #{@openapi_doc_version}"
34
+ headers['user-agent'] = "speakeasy-sdk/#{@sdk_configuration.language} #{@sdk_configuration.sdk_version} #{@sdk_configuration.gen_version} #{@sdk_configuration.openapi_doc_version}"
39
35
 
40
- r = @client.delete(url) do |req|
36
+ r = @sdk_configuration.client.delete(url) do |req|
41
37
  req.headers = headers
42
- Utils.configure_request_security(req, @sdk.security) if !@sdk.nil? && !@sdk.security.nil?
38
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
43
39
  end
44
40
 
45
41
  content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
@@ -62,7 +58,8 @@ module SpeakeasyClientSDK
62
58
  # generate_open_api_spec - Generate an OpenAPI specification for a particular Api.
63
59
  # This endpoint will generate any missing operations in any registered OpenAPI document if the operation does not already exist in the document.
64
60
  # Returns the original document and the newly generated document allowing a diff to be performed to see what has changed.
65
- base_url = @server_url
61
+ url, params = @sdk_configuration.get_server_details
62
+ base_url = Utils.template_url(url, params)
66
63
  url = Utils.generate_url(
67
64
  Operations::GenerateOpenApiSpecRequest,
68
65
  base_url,
@@ -71,11 +68,11 @@ module SpeakeasyClientSDK
71
68
  )
72
69
  headers = {}
73
70
  headers['Accept'] = 'application/json;q=1, application/json;q=0'
74
- headers['user-agent'] = "speakeasy-sdk/#{@language} #{@sdk_version} #{@gen_version} #{@openapi_doc_version}"
71
+ headers['user-agent'] = "speakeasy-sdk/#{@sdk_configuration.language} #{@sdk_configuration.sdk_version} #{@sdk_configuration.gen_version} #{@sdk_configuration.openapi_doc_version}"
75
72
 
76
- r = @client.get(url) do |req|
73
+ r = @sdk_configuration.client.get(url) do |req|
77
74
  req.headers = headers
78
- Utils.configure_request_security(req, @sdk.security) if !@sdk.nil? && !@sdk.security.nil?
75
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
79
76
  end
80
77
 
81
78
  content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
@@ -101,7 +98,8 @@ module SpeakeasyClientSDK
101
98
  def generate_postman_collection(request)
102
99
  # generate_postman_collection - Generate a Postman collection for a particular Api.
103
100
  # Generates a postman collection containing all endpoints for a particular API. Includes variables produced for any path/query/header parameters included in the OpenAPI document.
104
- base_url = @server_url
101
+ url, params = @sdk_configuration.get_server_details
102
+ base_url = Utils.template_url(url, params)
105
103
  url = Utils.generate_url(
106
104
  Operations::GeneratePostmanCollectionRequest,
107
105
  base_url,
@@ -110,11 +108,11 @@ module SpeakeasyClientSDK
110
108
  )
111
109
  headers = {}
112
110
  headers['Accept'] = 'application/json;q=1, application/octet-stream;q=0'
113
- headers['user-agent'] = "speakeasy-sdk/#{@language} #{@sdk_version} #{@gen_version} #{@openapi_doc_version}"
111
+ headers['user-agent'] = "speakeasy-sdk/#{@sdk_configuration.language} #{@sdk_configuration.sdk_version} #{@sdk_configuration.gen_version} #{@sdk_configuration.openapi_doc_version}"
114
112
 
115
- r = @client.get(url) do |req|
113
+ r = @sdk_configuration.client.get(url) do |req|
116
114
  req.headers = headers
117
- Utils.configure_request_security(req, @sdk.security) if !@sdk.nil? && !@sdk.security.nil?
115
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
118
116
  end
119
117
 
120
118
  content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
@@ -138,7 +136,8 @@ module SpeakeasyClientSDK
138
136
  # get_all_api_versions - Get all Api versions for a particular ApiEndpoint.
139
137
  # Get all Api versions for a particular ApiEndpoint.
140
138
  # Supports filtering the versions based on metadata attributes.
141
- base_url = @server_url
139
+ url, params = @sdk_configuration.get_server_details
140
+ base_url = Utils.template_url(url, params)
142
141
  url = Utils.generate_url(
143
142
  Operations::GetAllApiVersionsRequest,
144
143
  base_url,
@@ -148,12 +147,12 @@ module SpeakeasyClientSDK
148
147
  headers = {}
149
148
  query_params = Utils.get_query_params(Operations::GetAllApiVersionsRequest, request)
150
149
  headers['Accept'] = 'application/json;q=1, application/json;q=0'
151
- headers['user-agent'] = "speakeasy-sdk/#{@language} #{@sdk_version} #{@gen_version} #{@openapi_doc_version}"
150
+ headers['user-agent'] = "speakeasy-sdk/#{@sdk_configuration.language} #{@sdk_configuration.sdk_version} #{@sdk_configuration.gen_version} #{@sdk_configuration.openapi_doc_version}"
152
151
 
153
- r = @client.get(url) do |req|
152
+ r = @sdk_configuration.client.get(url) do |req|
154
153
  req.headers = headers
155
154
  req.params = query_params
156
- Utils.configure_request_security(req, @sdk.security) if !@sdk.nil? && !@sdk.security.nil?
155
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
157
156
  end
158
157
 
159
158
  content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
@@ -180,17 +179,18 @@ module SpeakeasyClientSDK
180
179
  # get_apis - Get a list of Apis for a given workspace
181
180
  # Get a list of all Apis and their versions for a given workspace.
182
181
  # Supports filtering the APIs based on metadata attributes.
183
- base_url = @server_url
184
- url = "#{base_url.delete_suffix('/')}/v1/apis"
182
+ url, params = @sdk_configuration.get_server_details
183
+ base_url = Utils.template_url(url, params)
184
+ url = "#{base_url}/v1/apis"
185
185
  headers = {}
186
186
  query_params = Utils.get_query_params(Operations::GetApisRequest, request)
187
187
  headers['Accept'] = 'application/json;q=1, application/json;q=0'
188
- headers['user-agent'] = "speakeasy-sdk/#{@language} #{@sdk_version} #{@gen_version} #{@openapi_doc_version}"
188
+ headers['user-agent'] = "speakeasy-sdk/#{@sdk_configuration.language} #{@sdk_configuration.sdk_version} #{@sdk_configuration.gen_version} #{@sdk_configuration.openapi_doc_version}"
189
189
 
190
- r = @client.get(url) do |req|
190
+ r = @sdk_configuration.client.get(url) do |req|
191
191
  req.headers = headers
192
192
  req.params = query_params
193
- Utils.configure_request_security(req, @sdk.security) if !@sdk.nil? && !@sdk.security.nil?
193
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
194
194
  end
195
195
 
196
196
  content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
@@ -217,7 +217,8 @@ module SpeakeasyClientSDK
217
217
  # upsert_api - Upsert an Api
218
218
  # Upsert an Api. If the Api does not exist, it will be created.
219
219
  # If the Api exists, it will be updated.
220
- base_url = @server_url
220
+ url, params = @sdk_configuration.get_server_details
221
+ base_url = Utils.template_url(url, params)
221
222
  url = Utils.generate_url(
222
223
  Operations::UpsertApiRequest,
223
224
  base_url,
@@ -229,11 +230,11 @@ module SpeakeasyClientSDK
229
230
  headers['content-type'] = req_content_type
230
231
  raise StandardError, 'request body is required' if data.nil? && form.nil?
231
232
  headers['Accept'] = 'application/json;q=1, application/json;q=0'
232
- headers['user-agent'] = "speakeasy-sdk/#{@language} #{@sdk_version} #{@gen_version} #{@openapi_doc_version}"
233
+ headers['user-agent'] = "speakeasy-sdk/#{@sdk_configuration.language} #{@sdk_configuration.sdk_version} #{@sdk_configuration.gen_version} #{@sdk_configuration.openapi_doc_version}"
233
234
 
234
- r = @client.put(url) do |req|
235
+ r = @sdk_configuration.client.put(url) do |req|
235
236
  req.headers = headers
236
- Utils.configure_request_security(req, @sdk.security) if !@sdk.nil? && !@sdk.security.nil?
237
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
237
238
  if form
238
239
  req.body = Utils.encode_form(form)
239
240
  elsif Utils.match_content_type(req_content_type, 'application/x-www-form-urlencoded')
data/lib/sdk/embeds.rb CHANGED
@@ -10,16 +10,11 @@ require 'sorbet-runtime'
10
10
  module SpeakeasyClientSDK
11
11
  extend T::Sig
12
12
  class Embeds
13
+ # REST APIs for managing embeds
13
14
  extend T::Sig
14
- sig { params(sdk: SpeakeasyClientSDK::SDK, client: Faraday::Connection, server_url: String, language: String, sdk_version: String, gen_version: String, openapi_doc_version: String).void }
15
- def initialize(sdk, client, server_url, language, sdk_version, gen_version, openapi_doc_version)
16
- @sdk = sdk
17
- @client = client
18
- @server_url = server_url
19
- @language = language
20
- @sdk_version = sdk_version
21
- @gen_version = gen_version
22
- @openapi_doc_version = openapi_doc_version
15
+ sig { params(sdk_config: SDKConfiguration).void }
16
+ def initialize(sdk_config)
17
+ @sdk_configuration = sdk_config
23
18
  end
24
19
 
25
20
  sig { params(request: Operations::GetEmbedAccessTokenRequest).returns(Utils::FieldAugmented) }
@@ -27,17 +22,18 @@ module SpeakeasyClientSDK
27
22
  # get_embed_access_token - Get an embed access token for the current workspace.
28
23
  # Returns an embed access token for the current workspace. This can be used to authenticate access to externally embedded content.
29
24
  # Filters can be applied allowing views to be filtered to things like particular customerIds.
30
- base_url = @server_url
31
- url = "#{base_url.delete_suffix('/')}/v1/workspace/embed-access-token"
25
+ url, params = @sdk_configuration.get_server_details
26
+ base_url = Utils.template_url(url, params)
27
+ url = "#{base_url}/v1/workspace/embed-access-token"
32
28
  headers = {}
33
29
  query_params = Utils.get_query_params(Operations::GetEmbedAccessTokenRequest, request)
34
30
  headers['Accept'] = 'application/json;q=1, application/json;q=0'
35
- headers['user-agent'] = "speakeasy-sdk/#{@language} #{@sdk_version} #{@gen_version} #{@openapi_doc_version}"
31
+ headers['user-agent'] = "speakeasy-sdk/#{@sdk_configuration.language} #{@sdk_configuration.sdk_version} #{@sdk_configuration.gen_version} #{@sdk_configuration.openapi_doc_version}"
36
32
 
37
- r = @client.get(url) do |req|
33
+ r = @sdk_configuration.client.get(url) do |req|
38
34
  req.headers = headers
39
35
  req.params = query_params
40
- Utils.configure_request_security(req, @sdk.security) if !@sdk.nil? && !@sdk.security.nil?
36
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
41
37
  end
42
38
 
43
39
  content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
@@ -62,15 +58,16 @@ module SpeakeasyClientSDK
62
58
  sig { returns(Utils::FieldAugmented) }
63
59
  def get_valid_embed_access_tokens
64
60
  # get_valid_embed_access_tokens - Get all valid embed access tokens for the current workspace.
65
- base_url = @server_url
66
- url = "#{base_url.delete_suffix('/')}/v1/workspace/embed-access-tokens/valid"
61
+ url, params = @sdk_configuration.get_server_details
62
+ base_url = Utils.template_url(url, params)
63
+ url = "#{base_url}/v1/workspace/embed-access-tokens/valid"
67
64
  headers = {}
68
65
  headers['Accept'] = 'application/json;q=1, application/json;q=0'
69
- headers['user-agent'] = "speakeasy-sdk/#{@language} #{@sdk_version} #{@gen_version} #{@openapi_doc_version}"
66
+ headers['user-agent'] = "speakeasy-sdk/#{@sdk_configuration.language} #{@sdk_configuration.sdk_version} #{@sdk_configuration.gen_version} #{@sdk_configuration.openapi_doc_version}"
70
67
 
71
- r = @client.get(url) do |req|
68
+ r = @sdk_configuration.client.get(url) do |req|
72
69
  req.headers = headers
73
- Utils.configure_request_security(req, @sdk.security) if !@sdk.nil? && !@sdk.security.nil?
70
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
74
71
  end
75
72
 
76
73
  content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
@@ -95,7 +92,8 @@ module SpeakeasyClientSDK
95
92
  sig { params(request: Operations::RevokeEmbedAccessTokenRequest).returns(Utils::FieldAugmented) }
96
93
  def revoke_embed_access_token(request)
97
94
  # revoke_embed_access_token - Revoke an embed access EmbedToken.
98
- base_url = @server_url
95
+ url, params = @sdk_configuration.get_server_details
96
+ base_url = Utils.template_url(url, params)
99
97
  url = Utils.generate_url(
100
98
  Operations::RevokeEmbedAccessTokenRequest,
101
99
  base_url,
@@ -104,11 +102,11 @@ module SpeakeasyClientSDK
104
102
  )
105
103
  headers = {}
106
104
  headers['Accept'] = 'application/json'
107
- headers['user-agent'] = "speakeasy-sdk/#{@language} #{@sdk_version} #{@gen_version} #{@openapi_doc_version}"
105
+ headers['user-agent'] = "speakeasy-sdk/#{@sdk_configuration.language} #{@sdk_configuration.sdk_version} #{@sdk_configuration.gen_version} #{@sdk_configuration.openapi_doc_version}"
108
106
 
109
- r = @client.delete(url) do |req|
107
+ r = @sdk_configuration.client.delete(url) do |req|
110
108
  req.headers = headers
111
- Utils.configure_request_security(req, @sdk.security) if !@sdk.nil? && !@sdk.security.nil?
109
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
112
110
  end
113
111
 
114
112
  content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
data/lib/sdk/metadata.rb CHANGED
@@ -10,22 +10,18 @@ require 'sorbet-runtime'
10
10
  module SpeakeasyClientSDK
11
11
  extend T::Sig
12
12
  class Metadata
13
+ # REST APIs for managing Version Metadata entities
13
14
  extend T::Sig
14
- sig { params(sdk: SpeakeasyClientSDK::SDK, client: Faraday::Connection, server_url: String, language: String, sdk_version: String, gen_version: String, openapi_doc_version: String).void }
15
- def initialize(sdk, client, server_url, language, sdk_version, gen_version, openapi_doc_version)
16
- @sdk = sdk
17
- @client = client
18
- @server_url = server_url
19
- @language = language
20
- @sdk_version = sdk_version
21
- @gen_version = gen_version
22
- @openapi_doc_version = openapi_doc_version
15
+ sig { params(sdk_config: SDKConfiguration).void }
16
+ def initialize(sdk_config)
17
+ @sdk_configuration = sdk_config
23
18
  end
24
19
 
25
20
  sig { params(request: Operations::DeleteVersionMetadataRequest).returns(Utils::FieldAugmented) }
26
21
  def delete_version_metadata(request)
27
22
  # delete_version_metadata - Delete metadata for a particular apiID and versionID.
28
- base_url = @server_url
23
+ url, params = @sdk_configuration.get_server_details
24
+ base_url = Utils.template_url(url, params)
29
25
  url = Utils.generate_url(
30
26
  Operations::DeleteVersionMetadataRequest,
31
27
  base_url,
@@ -34,11 +30,11 @@ module SpeakeasyClientSDK
34
30
  )
35
31
  headers = {}
36
32
  headers['Accept'] = 'application/json'
37
- headers['user-agent'] = "speakeasy-sdk/#{@language} #{@sdk_version} #{@gen_version} #{@openapi_doc_version}"
33
+ headers['user-agent'] = "speakeasy-sdk/#{@sdk_configuration.language} #{@sdk_configuration.sdk_version} #{@sdk_configuration.gen_version} #{@sdk_configuration.openapi_doc_version}"
38
34
 
39
- r = @client.delete(url) do |req|
35
+ r = @sdk_configuration.client.delete(url) do |req|
40
36
  req.headers = headers
41
- Utils.configure_request_security(req, @sdk.security) if !@sdk.nil? && !@sdk.security.nil?
37
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
42
38
  end
43
39
 
44
40
  content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
@@ -59,7 +55,8 @@ module SpeakeasyClientSDK
59
55
  sig { params(request: Operations::GetVersionMetadataRequest).returns(Utils::FieldAugmented) }
60
56
  def get_version_metadata(request)
61
57
  # get_version_metadata - Get all metadata for a particular apiID and versionID.
62
- base_url = @server_url
58
+ url, params = @sdk_configuration.get_server_details
59
+ base_url = Utils.template_url(url, params)
63
60
  url = Utils.generate_url(
64
61
  Operations::GetVersionMetadataRequest,
65
62
  base_url,
@@ -68,11 +65,11 @@ module SpeakeasyClientSDK
68
65
  )
69
66
  headers = {}
70
67
  headers['Accept'] = 'application/json;q=1, application/json;q=0'
71
- headers['user-agent'] = "speakeasy-sdk/#{@language} #{@sdk_version} #{@gen_version} #{@openapi_doc_version}"
68
+ headers['user-agent'] = "speakeasy-sdk/#{@sdk_configuration.language} #{@sdk_configuration.sdk_version} #{@sdk_configuration.gen_version} #{@sdk_configuration.openapi_doc_version}"
72
69
 
73
- r = @client.get(url) do |req|
70
+ r = @sdk_configuration.client.get(url) do |req|
74
71
  req.headers = headers
75
- Utils.configure_request_security(req, @sdk.security) if !@sdk.nil? && !@sdk.security.nil?
72
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
76
73
  end
77
74
 
78
75
  content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
@@ -97,7 +94,8 @@ module SpeakeasyClientSDK
97
94
  sig { params(request: Operations::InsertVersionMetadataRequest).returns(Utils::FieldAugmented) }
98
95
  def insert_version_metadata(request)
99
96
  # insert_version_metadata - Insert metadata for a particular apiID and versionID.
100
- base_url = @server_url
97
+ url, params = @sdk_configuration.get_server_details
98
+ base_url = Utils.template_url(url, params)
101
99
  url = Utils.generate_url(
102
100
  Operations::InsertVersionMetadataRequest,
103
101
  base_url,
@@ -109,11 +107,11 @@ module SpeakeasyClientSDK
109
107
  headers['content-type'] = req_content_type
110
108
  raise StandardError, 'request body is required' if data.nil? && form.nil?
111
109
  headers['Accept'] = 'application/json;q=1, application/json;q=0'
112
- headers['user-agent'] = "speakeasy-sdk/#{@language} #{@sdk_version} #{@gen_version} #{@openapi_doc_version}"
110
+ headers['user-agent'] = "speakeasy-sdk/#{@sdk_configuration.language} #{@sdk_configuration.sdk_version} #{@sdk_configuration.gen_version} #{@sdk_configuration.openapi_doc_version}"
113
111
 
114
- r = @client.post(url) do |req|
112
+ r = @sdk_configuration.client.post(url) do |req|
115
113
  req.headers = headers
116
- Utils.configure_request_security(req, @sdk.security) if !@sdk.nil? && !@sdk.security.nil?
114
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
117
115
  if form
118
116
  req.body = Utils.encode_form(form)
119
117
  elsif Utils.match_content_type(req_content_type, 'application/x-www-form-urlencoded')
data/lib/sdk/plugins.rb CHANGED
@@ -10,30 +10,26 @@ require 'sorbet-runtime'
10
10
  module SpeakeasyClientSDK
11
11
  extend T::Sig
12
12
  class Plugins
13
+ # REST APIs for managing and running plugins
13
14
  extend T::Sig
14
- sig { params(sdk: SpeakeasyClientSDK::SDK, client: Faraday::Connection, server_url: String, language: String, sdk_version: String, gen_version: String, openapi_doc_version: String).void }
15
- def initialize(sdk, client, server_url, language, sdk_version, gen_version, openapi_doc_version)
16
- @sdk = sdk
17
- @client = client
18
- @server_url = server_url
19
- @language = language
20
- @sdk_version = sdk_version
21
- @gen_version = gen_version
22
- @openapi_doc_version = openapi_doc_version
15
+ sig { params(sdk_config: SDKConfiguration).void }
16
+ def initialize(sdk_config)
17
+ @sdk_configuration = sdk_config
23
18
  end
24
19
 
25
20
  sig { returns(Utils::FieldAugmented) }
26
21
  def get_plugins
27
22
  # get_plugins - Get all plugins for the current workspace.
28
- base_url = @server_url
29
- url = "#{base_url.delete_suffix('/')}/v1/plugins"
23
+ url, params = @sdk_configuration.get_server_details
24
+ base_url = Utils.template_url(url, params)
25
+ url = "#{base_url}/v1/plugins"
30
26
  headers = {}
31
27
  headers['Accept'] = 'application/json;q=1, application/json;q=0'
32
- headers['user-agent'] = "speakeasy-sdk/#{@language} #{@sdk_version} #{@gen_version} #{@openapi_doc_version}"
28
+ headers['user-agent'] = "speakeasy-sdk/#{@sdk_configuration.language} #{@sdk_configuration.sdk_version} #{@sdk_configuration.gen_version} #{@sdk_configuration.openapi_doc_version}"
33
29
 
34
- r = @client.get(url) do |req|
30
+ r = @sdk_configuration.client.get(url) do |req|
35
31
  req.headers = headers
36
- Utils.configure_request_security(req, @sdk.security) if !@sdk.nil? && !@sdk.security.nil?
32
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
37
33
  end
38
34
 
39
35
  content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
@@ -58,7 +54,8 @@ module SpeakeasyClientSDK
58
54
  sig { params(request: Operations::RunPluginRequest).returns(Utils::FieldAugmented) }
59
55
  def run_plugin(request)
60
56
  # run_plugin - Run a plugin
61
- base_url = @server_url
57
+ url, params = @sdk_configuration.get_server_details
58
+ base_url = Utils.template_url(url, params)
62
59
  url = Utils.generate_url(
63
60
  Operations::RunPluginRequest,
64
61
  base_url,
@@ -68,12 +65,12 @@ module SpeakeasyClientSDK
68
65
  headers = {}
69
66
  query_params = Utils.get_query_params(Operations::RunPluginRequest, request)
70
67
  headers['Accept'] = 'application/json;q=1, application/json;q=0'
71
- headers['user-agent'] = "speakeasy-sdk/#{@language} #{@sdk_version} #{@gen_version} #{@openapi_doc_version}"
68
+ headers['user-agent'] = "speakeasy-sdk/#{@sdk_configuration.language} #{@sdk_configuration.sdk_version} #{@sdk_configuration.gen_version} #{@sdk_configuration.openapi_doc_version}"
72
69
 
73
- r = @client.post(url) do |req|
70
+ r = @sdk_configuration.client.post(url) do |req|
74
71
  req.headers = headers
75
72
  req.params = query_params
76
- Utils.configure_request_security(req, @sdk.security) if !@sdk.nil? && !@sdk.security.nil?
73
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
77
74
  end
78
75
 
79
76
  content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
@@ -98,18 +95,19 @@ module SpeakeasyClientSDK
98
95
  sig { params(request: Shared::Plugin).returns(Utils::FieldAugmented) }
99
96
  def upsert_plugin(request)
100
97
  # upsert_plugin - Upsert a plugin
101
- base_url = @server_url
102
- url = "#{base_url.delete_suffix('/')}/v1/plugins"
98
+ url, params = @sdk_configuration.get_server_details
99
+ base_url = Utils.template_url(url, params)
100
+ url = "#{base_url}/v1/plugins"
103
101
  headers = {}
104
102
  req_content_type, data, form = Utils.serialize_request_body(request, :request, :json)
105
103
  headers['content-type'] = req_content_type
106
104
  raise StandardError, 'request body is required' if data.nil? && form.nil?
107
105
  headers['Accept'] = 'application/json;q=1, application/json;q=0'
108
- headers['user-agent'] = "speakeasy-sdk/#{@language} #{@sdk_version} #{@gen_version} #{@openapi_doc_version}"
106
+ headers['user-agent'] = "speakeasy-sdk/#{@sdk_configuration.language} #{@sdk_configuration.sdk_version} #{@sdk_configuration.gen_version} #{@sdk_configuration.openapi_doc_version}"
109
107
 
110
- r = @client.put(url) do |req|
108
+ r = @sdk_configuration.client.put(url) do |req|
111
109
  req.headers = headers
112
- Utils.configure_request_security(req, @sdk.security) if !@sdk.nil? && !@sdk.security.nil?
110
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
113
111
  if form
114
112
  req.body = Utils.encode_form(form)
115
113
  elsif Utils.match_content_type(req_content_type, 'application/x-www-form-urlencoded')
data/lib/sdk/requests.rb CHANGED
@@ -10,16 +10,11 @@ require 'sorbet-runtime'
10
10
  module SpeakeasyClientSDK
11
11
  extend T::Sig
12
12
  class Requests
13
+ # REST APIs for retrieving request information
13
14
  extend T::Sig
14
- sig { params(sdk: SpeakeasyClientSDK::SDK, client: Faraday::Connection, server_url: String, language: String, sdk_version: String, gen_version: String, openapi_doc_version: String).void }
15
- def initialize(sdk, client, server_url, language, sdk_version, gen_version, openapi_doc_version)
16
- @sdk = sdk
17
- @client = client
18
- @server_url = server_url
19
- @language = language
20
- @sdk_version = sdk_version
21
- @gen_version = gen_version
22
- @openapi_doc_version = openapi_doc_version
15
+ sig { params(sdk_config: SDKConfiguration).void }
16
+ def initialize(sdk_config)
17
+ @sdk_configuration = sdk_config
23
18
  end
24
19
 
25
20
  sig { params(request: Operations::GenerateRequestPostmanCollectionRequest).returns(Utils::FieldAugmented) }
@@ -27,7 +22,8 @@ module SpeakeasyClientSDK
27
22
  # generate_request_postman_collection - Generate a Postman collection for a particular request.
28
23
  # Generates a Postman collection for a particular request.
29
24
  # Allowing it to be replayed with the same inputs that were captured by the SDK.
30
- base_url = @server_url
25
+ url, params = @sdk_configuration.get_server_details
26
+ base_url = Utils.template_url(url, params)
31
27
  url = Utils.generate_url(
32
28
  Operations::GenerateRequestPostmanCollectionRequest,
33
29
  base_url,
@@ -36,11 +32,11 @@ module SpeakeasyClientSDK
36
32
  )
37
33
  headers = {}
38
34
  headers['Accept'] = 'application/json;q=1, application/octet-stream;q=0'
39
- headers['user-agent'] = "speakeasy-sdk/#{@language} #{@sdk_version} #{@gen_version} #{@openapi_doc_version}"
35
+ headers['user-agent'] = "speakeasy-sdk/#{@sdk_configuration.language} #{@sdk_configuration.sdk_version} #{@sdk_configuration.gen_version} #{@sdk_configuration.openapi_doc_version}"
40
36
 
41
- r = @client.get(url) do |req|
37
+ r = @sdk_configuration.client.get(url) do |req|
42
38
  req.headers = headers
43
- Utils.configure_request_security(req, @sdk.security) if !@sdk.nil? && !@sdk.security.nil?
39
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
44
40
  end
45
41
 
46
42
  content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
@@ -62,7 +58,8 @@ module SpeakeasyClientSDK
62
58
  sig { params(request: Operations::GetRequestFromEventLogRequest).returns(Utils::FieldAugmented) }
63
59
  def get_request_from_event_log(request)
64
60
  # get_request_from_event_log - Get information about a particular request.
65
- base_url = @server_url
61
+ url, params = @sdk_configuration.get_server_details
62
+ base_url = Utils.template_url(url, params)
66
63
  url = Utils.generate_url(
67
64
  Operations::GetRequestFromEventLogRequest,
68
65
  base_url,
@@ -71,11 +68,11 @@ module SpeakeasyClientSDK
71
68
  )
72
69
  headers = {}
73
70
  headers['Accept'] = 'application/json;q=1, application/json;q=0'
74
- headers['user-agent'] = "speakeasy-sdk/#{@language} #{@sdk_version} #{@gen_version} #{@openapi_doc_version}"
71
+ headers['user-agent'] = "speakeasy-sdk/#{@sdk_configuration.language} #{@sdk_configuration.sdk_version} #{@sdk_configuration.gen_version} #{@sdk_configuration.openapi_doc_version}"
75
72
 
76
- r = @client.get(url) do |req|
73
+ r = @sdk_configuration.client.get(url) do |req|
77
74
  req.headers = headers
78
- Utils.configure_request_security(req, @sdk.security) if !@sdk.nil? && !@sdk.security.nil?
75
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
79
76
  end
80
77
 
81
78
  content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
@@ -102,17 +99,18 @@ module SpeakeasyClientSDK
102
99
  # query_event_log - Query the event log to retrieve a list of requests.
103
100
  # Supports retrieving a list of request captured by the SDK for this workspace.
104
101
  # Allows the filtering of requests on a number of criteria such as ApiID, VersionID, Path, Method, etc.
105
- base_url = @server_url
106
- url = "#{base_url.delete_suffix('/')}/v1/eventlog/query"
102
+ url, params = @sdk_configuration.get_server_details
103
+ base_url = Utils.template_url(url, params)
104
+ url = "#{base_url}/v1/eventlog/query"
107
105
  headers = {}
108
106
  query_params = Utils.get_query_params(Operations::QueryEventLogRequest, request)
109
107
  headers['Accept'] = 'application/json;q=1, application/json;q=0'
110
- headers['user-agent'] = "speakeasy-sdk/#{@language} #{@sdk_version} #{@gen_version} #{@openapi_doc_version}"
108
+ headers['user-agent'] = "speakeasy-sdk/#{@sdk_configuration.language} #{@sdk_configuration.sdk_version} #{@sdk_configuration.gen_version} #{@sdk_configuration.openapi_doc_version}"
111
109
 
112
- r = @client.get(url) do |req|
110
+ r = @sdk_configuration.client.get(url) do |req|
113
111
  req.headers = headers
114
112
  req.params = query_params
115
- Utils.configure_request_security(req, @sdk.security) if !@sdk.nil? && !@sdk.security.nil?
113
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
116
114
  end
117
115
 
118
116
  content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
data/lib/sdk/schemas.rb CHANGED
@@ -10,22 +10,18 @@ require 'sorbet-runtime'
10
10
  module SpeakeasyClientSDK
11
11
  extend T::Sig
12
12
  class Schemas
13
+ # REST APIs for managing Schema entities
13
14
  extend T::Sig
14
- sig { params(sdk: SpeakeasyClientSDK::SDK, client: Faraday::Connection, server_url: String, language: String, sdk_version: String, gen_version: String, openapi_doc_version: String).void }
15
- def initialize(sdk, client, server_url, language, sdk_version, gen_version, openapi_doc_version)
16
- @sdk = sdk
17
- @client = client
18
- @server_url = server_url
19
- @language = language
20
- @sdk_version = sdk_version
21
- @gen_version = gen_version
22
- @openapi_doc_version = openapi_doc_version
15
+ sig { params(sdk_config: SDKConfiguration).void }
16
+ def initialize(sdk_config)
17
+ @sdk_configuration = sdk_config
23
18
  end
24
19
 
25
20
  sig { params(request: Operations::DeleteSchemaRequest).returns(Utils::FieldAugmented) }
26
21
  def delete_schema(request)
27
22
  # delete_schema - Delete a particular schema revision for an Api.
28
- base_url = @server_url
23
+ url, params = @sdk_configuration.get_server_details
24
+ base_url = Utils.template_url(url, params)
29
25
  url = Utils.generate_url(
30
26
  Operations::DeleteSchemaRequest,
31
27
  base_url,
@@ -34,11 +30,11 @@ module SpeakeasyClientSDK
34
30
  )
35
31
  headers = {}
36
32
  headers['Accept'] = 'application/json'
37
- headers['user-agent'] = "speakeasy-sdk/#{@language} #{@sdk_version} #{@gen_version} #{@openapi_doc_version}"
33
+ headers['user-agent'] = "speakeasy-sdk/#{@sdk_configuration.language} #{@sdk_configuration.sdk_version} #{@sdk_configuration.gen_version} #{@sdk_configuration.openapi_doc_version}"
38
34
 
39
- r = @client.delete(url) do |req|
35
+ r = @sdk_configuration.client.delete(url) do |req|
40
36
  req.headers = headers
41
- Utils.configure_request_security(req, @sdk.security) if !@sdk.nil? && !@sdk.security.nil?
37
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
42
38
  end
43
39
 
44
40
  content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
@@ -59,7 +55,8 @@ module SpeakeasyClientSDK
59
55
  sig { params(request: Operations::DownloadSchemaRequest).returns(Utils::FieldAugmented) }
60
56
  def download_schema(request)
61
57
  # download_schema - Download the latest schema for a particular apiID.
62
- base_url = @server_url
58
+ url, params = @sdk_configuration.get_server_details
59
+ base_url = Utils.template_url(url, params)
63
60
  url = Utils.generate_url(
64
61
  Operations::DownloadSchemaRequest,
65
62
  base_url,
@@ -68,11 +65,11 @@ module SpeakeasyClientSDK
68
65
  )
69
66
  headers = {}
70
67
  headers['Accept'] = 'application/json;q=1, application/json;q=0.7, application/x-yaml;q=0'
71
- headers['user-agent'] = "speakeasy-sdk/#{@language} #{@sdk_version} #{@gen_version} #{@openapi_doc_version}"
68
+ headers['user-agent'] = "speakeasy-sdk/#{@sdk_configuration.language} #{@sdk_configuration.sdk_version} #{@sdk_configuration.gen_version} #{@sdk_configuration.openapi_doc_version}"
72
69
 
73
- r = @client.get(url) do |req|
70
+ r = @sdk_configuration.client.get(url) do |req|
74
71
  req.headers = headers
75
- Utils.configure_request_security(req, @sdk.security) if !@sdk.nil? && !@sdk.security.nil?
72
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
76
73
  end
77
74
 
78
75
  content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
@@ -95,7 +92,8 @@ module SpeakeasyClientSDK
95
92
  sig { params(request: Operations::DownloadSchemaRevisionRequest).returns(Utils::FieldAugmented) }
96
93
  def download_schema_revision(request)
97
94
  # download_schema_revision - Download a particular schema revision for an Api.
98
- base_url = @server_url
95
+ url, params = @sdk_configuration.get_server_details
96
+ base_url = Utils.template_url(url, params)
99
97
  url = Utils.generate_url(
100
98
  Operations::DownloadSchemaRevisionRequest,
101
99
  base_url,
@@ -104,11 +102,11 @@ module SpeakeasyClientSDK
104
102
  )
105
103
  headers = {}
106
104
  headers['Accept'] = 'application/json;q=1, application/json;q=0.7, application/x-yaml;q=0'
107
- headers['user-agent'] = "speakeasy-sdk/#{@language} #{@sdk_version} #{@gen_version} #{@openapi_doc_version}"
105
+ headers['user-agent'] = "speakeasy-sdk/#{@sdk_configuration.language} #{@sdk_configuration.sdk_version} #{@sdk_configuration.gen_version} #{@sdk_configuration.openapi_doc_version}"
108
106
 
109
- r = @client.get(url) do |req|
107
+ r = @sdk_configuration.client.get(url) do |req|
110
108
  req.headers = headers
111
- Utils.configure_request_security(req, @sdk.security) if !@sdk.nil? && !@sdk.security.nil?
109
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
112
110
  end
113
111
 
114
112
  content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
@@ -133,7 +131,8 @@ module SpeakeasyClientSDK
133
131
  # get_schema - Get information about the latest schema.
134
132
  # Returns information about the last uploaded schema for a particular API version.
135
133
  # This won't include the schema itself, that can be retrieved via the downloadSchema operation.
136
- base_url = @server_url
134
+ url, params = @sdk_configuration.get_server_details
135
+ base_url = Utils.template_url(url, params)
137
136
  url = Utils.generate_url(
138
137
  Operations::GetSchemaRequest,
139
138
  base_url,
@@ -142,11 +141,11 @@ module SpeakeasyClientSDK
142
141
  )
143
142
  headers = {}
144
143
  headers['Accept'] = 'application/json;q=1, application/json;q=0'
145
- headers['user-agent'] = "speakeasy-sdk/#{@language} #{@sdk_version} #{@gen_version} #{@openapi_doc_version}"
144
+ headers['user-agent'] = "speakeasy-sdk/#{@sdk_configuration.language} #{@sdk_configuration.sdk_version} #{@sdk_configuration.gen_version} #{@sdk_configuration.openapi_doc_version}"
146
145
 
147
- r = @client.get(url) do |req|
146
+ r = @sdk_configuration.client.get(url) do |req|
148
147
  req.headers = headers
149
- Utils.configure_request_security(req, @sdk.security) if !@sdk.nil? && !@sdk.security.nil?
148
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
150
149
  end
151
150
 
152
151
  content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
@@ -171,7 +170,8 @@ module SpeakeasyClientSDK
171
170
  sig { params(request: Operations::GetSchemaDiffRequest).returns(Utils::FieldAugmented) }
172
171
  def get_schema_diff(request)
173
172
  # get_schema_diff - Get a diff of two schema revisions for an Api.
174
- base_url = @server_url
173
+ url, params = @sdk_configuration.get_server_details
174
+ base_url = Utils.template_url(url, params)
175
175
  url = Utils.generate_url(
176
176
  Operations::GetSchemaDiffRequest,
177
177
  base_url,
@@ -180,11 +180,11 @@ module SpeakeasyClientSDK
180
180
  )
181
181
  headers = {}
182
182
  headers['Accept'] = 'application/json;q=1, application/json;q=0'
183
- headers['user-agent'] = "speakeasy-sdk/#{@language} #{@sdk_version} #{@gen_version} #{@openapi_doc_version}"
183
+ headers['user-agent'] = "speakeasy-sdk/#{@sdk_configuration.language} #{@sdk_configuration.sdk_version} #{@sdk_configuration.gen_version} #{@sdk_configuration.openapi_doc_version}"
184
184
 
185
- r = @client.get(url) do |req|
185
+ r = @sdk_configuration.client.get(url) do |req|
186
186
  req.headers = headers
187
- Utils.configure_request_security(req, @sdk.security) if !@sdk.nil? && !@sdk.security.nil?
187
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
188
188
  end
189
189
 
190
190
  content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
@@ -211,7 +211,8 @@ module SpeakeasyClientSDK
211
211
  # get_schema_revision - Get information about a particular schema revision for an Api.
212
212
  # Returns information about the last uploaded schema for a particular schema revision.
213
213
  # This won't include the schema itself, that can be retrieved via the downloadSchema operation.
214
- base_url = @server_url
214
+ url, params = @sdk_configuration.get_server_details
215
+ base_url = Utils.template_url(url, params)
215
216
  url = Utils.generate_url(
216
217
  Operations::GetSchemaRevisionRequest,
217
218
  base_url,
@@ -220,11 +221,11 @@ module SpeakeasyClientSDK
220
221
  )
221
222
  headers = {}
222
223
  headers['Accept'] = 'application/json;q=1, application/json;q=0'
223
- headers['user-agent'] = "speakeasy-sdk/#{@language} #{@sdk_version} #{@gen_version} #{@openapi_doc_version}"
224
+ headers['user-agent'] = "speakeasy-sdk/#{@sdk_configuration.language} #{@sdk_configuration.sdk_version} #{@sdk_configuration.gen_version} #{@sdk_configuration.openapi_doc_version}"
224
225
 
225
- r = @client.get(url) do |req|
226
+ r = @sdk_configuration.client.get(url) do |req|
226
227
  req.headers = headers
227
- Utils.configure_request_security(req, @sdk.security) if !@sdk.nil? && !@sdk.security.nil?
228
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
228
229
  end
229
230
 
230
231
  content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
@@ -251,7 +252,8 @@ module SpeakeasyClientSDK
251
252
  # get_schemas - Get information about all schemas associated with a particular apiID.
252
253
  # Returns information the schemas associated with a particular apiID.
253
254
  # This won't include the schemas themselves, they can be retrieved via the downloadSchema operation.
254
- base_url = @server_url
255
+ url, params = @sdk_configuration.get_server_details
256
+ base_url = Utils.template_url(url, params)
255
257
  url = Utils.generate_url(
256
258
  Operations::GetSchemasRequest,
257
259
  base_url,
@@ -260,11 +262,11 @@ module SpeakeasyClientSDK
260
262
  )
261
263
  headers = {}
262
264
  headers['Accept'] = 'application/json;q=1, application/json;q=0'
263
- headers['user-agent'] = "speakeasy-sdk/#{@language} #{@sdk_version} #{@gen_version} #{@openapi_doc_version}"
265
+ headers['user-agent'] = "speakeasy-sdk/#{@sdk_configuration.language} #{@sdk_configuration.sdk_version} #{@sdk_configuration.gen_version} #{@sdk_configuration.openapi_doc_version}"
264
266
 
265
- r = @client.get(url) do |req|
267
+ r = @sdk_configuration.client.get(url) do |req|
266
268
  req.headers = headers
267
- Utils.configure_request_security(req, @sdk.security) if !@sdk.nil? && !@sdk.security.nil?
269
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
268
270
  end
269
271
 
270
272
  content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
@@ -291,7 +293,8 @@ module SpeakeasyClientSDK
291
293
  # register_schema - Register a schema.
292
294
  # Allows uploading a schema for a particular API version.
293
295
  # This will be used to populate ApiEndpoints and used as a base for any schema generation if present.
294
- base_url = @server_url
296
+ url, params = @sdk_configuration.get_server_details
297
+ base_url = Utils.template_url(url, params)
295
298
  url = Utils.generate_url(
296
299
  Operations::RegisterSchemaRequest,
297
300
  base_url,
@@ -303,11 +306,11 @@ module SpeakeasyClientSDK
303
306
  headers['content-type'] = req_content_type
304
307
  raise StandardError, 'request body is required' if data.nil? && form.nil?
305
308
  headers['Accept'] = 'application/json'
306
- headers['user-agent'] = "speakeasy-sdk/#{@language} #{@sdk_version} #{@gen_version} #{@openapi_doc_version}"
309
+ headers['user-agent'] = "speakeasy-sdk/#{@sdk_configuration.language} #{@sdk_configuration.sdk_version} #{@sdk_configuration.gen_version} #{@sdk_configuration.openapi_doc_version}"
307
310
 
308
- r = @client.post(url) do |req|
311
+ r = @sdk_configuration.client.post(url) do |req|
309
312
  req.headers = headers
310
- Utils.configure_request_security(req, @sdk.security) if !@sdk.nil? && !@sdk.security.nil?
313
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
311
314
  if form
312
315
  req.body = Utils.encode_form(form)
313
316
  elsif Utils.match_content_type(req_content_type, 'application/x-www-form-urlencoded')
data/lib/sdk/sdk.rb CHANGED
@@ -8,10 +8,7 @@ require 'faraday/multipart'
8
8
  require 'sorbet-runtime'
9
9
  module SpeakeasyClientSDK
10
10
  extend T::Sig
11
- SERVER_PROD = 'prod'
12
- SERVERS = {
13
- SERVER_PROD: 'https://api.prod.speakeasyapi.dev'
14
- }.freeze
11
+
15
12
  class SDK
16
13
  extend T::Sig
17
14
 
@@ -20,7 +17,7 @@ module SpeakeasyClientSDK
20
17
  attr_accessor :security, :language, :sdk_version, :gen_version
21
18
 
22
19
  sig do
23
- params(security: Shared::Security,
20
+ params(security: T.nilable(Shared::Security),
24
21
  server: String,
25
22
  server_url: String,
26
23
  url_params: T::Hash[Symbol, String],
@@ -39,128 +36,75 @@ module SpeakeasyClientSDK
39
36
  # @param [Hash<Symbol, String>] url_params Parameters to optionally template the server URL with
40
37
  # @param [Faraday::Request] client The faraday HTTP client to use for all operations
41
38
 
42
- @client = Faraday.new(request: {
43
- params_encoder: Faraday::FlatParamsEncoder
44
- }) do |f|
45
- f.request :multipart, {}
46
- # f.response :logger
39
+ if client.nil?
40
+ client = Faraday.new(request: {
41
+ params_encoder: Faraday::FlatParamsEncoder
42
+ }) do |f|
43
+ f.request :multipart, {}
44
+ # f.response :logger
45
+ end
47
46
  end
48
47
 
49
-
48
+ if !server_url.nil?
49
+ if !url_params.nil?
50
+ server_url = Utils.template_url(server_url, url_params)
51
+ end
52
+ end
53
+ server = SERVER_PROD if server.nil?
50
54
 
55
+
51
56
 
52
- @security = nil
53
- @server_url = SERVERS[SERVER_PROD]
54
- @language = 'ruby'
55
- @sdk_version = '1.14.0'
56
- @gen_version = '2.65.0'
57
- @openapi_doc_version = '0.3.0'
57
+ @sdk_configuration = SDKConfiguration.new(client, security, server_url, server)
58
58
  init_sdks
59
59
  end
60
60
 
61
- sig { params(server_url: String, params: T.nilable(T::Hash[Symbol, String])).void }
62
- def config_server_url(server_url, params)
63
- if params.nil?
64
- @server_url = server_url
65
- else
66
- @server_url = Utils.template_url(server_url, params)
61
+ sig { params(params: T.nilable(T::Hash[Symbol, String])).void }
62
+ def config_server_url(params)
63
+ if !params.nil?
64
+ @server_url = Utils.template_url(@server_url, params)
67
65
  end
68
66
  init_sdks
69
67
  end
70
68
 
71
69
  sig { params(server: String, params: T.nilable(T::Hash[Symbol, String])).void }
72
- def config_server(server, params)
70
+ def config_server(params)
73
71
  raise StandardError, 'Invalid server' if !SERVERS.include? server
74
72
 
75
- config_server_url(SERVERS[server], params)
73
+ config_server_url(params)
76
74
  init_sdks
77
75
  end
78
76
 
79
77
  sig { params(security: Shared::Security).void }
80
78
  def config_security(security)
81
79
  @security = security
80
+ @sdk_configuration.security = security
82
81
  end
83
82
 
84
83
  sig { void }
85
84
  def init_sdks
86
- @api_endpoints = ApiEndpoints.new(
87
- self,
88
- @client,
89
- @server_url,
90
- @language,
91
- @sdk_version,
92
- @gen_version,
93
- @openapi_doc_version
94
- )
95
- @apis = Apis.new(
96
- self,
97
- @client,
98
- @server_url,
99
- @language,
100
- @sdk_version,
101
- @gen_version,
102
- @openapi_doc_version
103
- )
104
- @embeds = Embeds.new(
105
- self,
106
- @client,
107
- @server_url,
108
- @language,
109
- @sdk_version,
110
- @gen_version,
111
- @openapi_doc_version
112
- )
113
- @metadata = Metadata.new(
114
- self,
115
- @client,
116
- @server_url,
117
- @language,
118
- @sdk_version,
119
- @gen_version,
120
- @openapi_doc_version
121
- )
122
- @plugins = Plugins.new(
123
- self,
124
- @client,
125
- @server_url,
126
- @language,
127
- @sdk_version,
128
- @gen_version,
129
- @openapi_doc_version
130
- )
131
- @requests = Requests.new(
132
- self,
133
- @client,
134
- @server_url,
135
- @language,
136
- @sdk_version,
137
- @gen_version,
138
- @openapi_doc_version
139
- )
140
- @schemas = Schemas.new(
141
- self,
142
- @client,
143
- @server_url,
144
- @language,
145
- @sdk_version,
146
- @gen_version,
147
- @openapi_doc_version
148
- )
85
+ @api_endpoints = ApiEndpoints.new(@sdk_configuration)
86
+ @apis = Apis.new(@sdk_configuration)
87
+ @embeds = Embeds.new(@sdk_configuration)
88
+ @metadata = Metadata.new(@sdk_configuration)
89
+ @plugins = Plugins.new(@sdk_configuration)
90
+ @requests = Requests.new(@sdk_configuration)
91
+ @schemas = Schemas.new(@sdk_configuration)
149
92
  end
150
93
 
151
94
 
152
95
  sig { returns(Utils::FieldAugmented) }
153
96
  def validate_api_key
154
97
  # validate_api_key - Validate the current api key.
155
- base_url = @server_url
156
- url = "#{base_url.delete_suffix('/')}/v1/auth/validate"
98
+ url, params = @sdk_configuration.get_server_details
99
+ base_url = Utils.template_url(url, params)
100
+ url = "#{base_url}/v1/auth/validate"
157
101
  headers = {}
158
102
  headers['Accept'] = 'application/json'
159
- headers['user-agent'] = "speakeasy-sdk/#{@language} #{@sdk_version} #{@gen_version} #{@openapi_doc_version}"
103
+ headers['user-agent'] = "speakeasy-sdk/#{@sdk_configuration.language} #{@sdk_configuration.sdk_version} #{@sdk_configuration.gen_version} #{@sdk_configuration.openapi_doc_version}"
160
104
 
161
- r = @client.get(url) do |req|
105
+ r = @sdk_configuration.client.get(url) do |req|
162
106
  req.headers = headers
163
- Utils.configure_request_security(req, @sdk.security) if !@sdk.nil? && !@sdk.security.nil?
107
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
164
108
  end
165
109
 
166
110
  content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
@@ -0,0 +1,53 @@
1
+ # Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+ require 'faraday'
7
+ require 'faraday/multipart'
8
+ require 'sorbet-runtime'
9
+
10
+ module OpenApiSDK
11
+ extend T::Sig
12
+
13
+
14
+ SERVER_PROD = 'prod'
15
+ SERVERS = {
16
+ SERVER_PROD: 'https://api.prod.speakeasyapi.dev',
17
+ }.freeze
18
+ # Contains the list of servers available to the SDK
19
+
20
+
21
+ class SDKConfiguration < OpenApiSDK::Utils::FieldAugmented
22
+ extend T::Sig
23
+
24
+ field :client, T.nilable(Faraday::Connection)
25
+ field :security, Shared::Security
26
+ field :server_url, T.nilable(String)
27
+ field :server, T.nilable(String)
28
+ field :server_defaults, Hash[Symbol, Hash[Symbol, String]], { 'default_factory': Hash}
29
+ field :language, String
30
+ field :openapi_doc_version, String
31
+ field :sdk_version, String
32
+ field :gen_version, String
33
+
34
+
35
+ sig { params(client: Faraday::Connection, security: T.nilable(Shared::Security), server_url: T.nilable(String), server_idx: T.nilable(Integer), server_defaults: T::Hash[Symbol, String], globals: T::Hash[Symbol, T::Hash[Symbol, T::Hash[Symbol, Object]]]).void }
36
+ def initialize(client, security, server_url, server_idx, server_defaults, globals)
37
+ @client = client
38
+ @server = server_url.nil? ? '' : server_url
39
+ @language = 'ruby'
40
+ @openapi_doc_version = '0.3.0'
41
+ @sdk_version = '1.15.0'
42
+ @gen_version = '2.73.0'
43
+ end
44
+
45
+ sig { returns([String, T::Hash[Symbol, String]]) }
46
+ def get_server_details
47
+ return [@server_url.delete_suffix('/'), {}] if !@server_url.nil?
48
+ @server = SERVER_PROD if @server.nil?
49
+
50
+ [SERVERS[@server], {}]
51
+ end
52
+ end
53
+ end
@@ -707,7 +707,12 @@ module SpeakeasyClientSDK
707
707
  sig { params(url_with_params: String, params: T::Hash[Symbol, String]).returns(String) }
708
708
  def self.template_url(url_with_params, params)
709
709
  params.each do |key, value|
710
- url_with_params = url_with_params.gsub("{#{key}}", value)
710
+ if value.respond_to? :serialize
711
+ val_str = value.serialize
712
+ else
713
+ val_str = value
714
+ end
715
+ url_with_params = url_with_params.gsub("{#{key}}", val_str)
711
716
  end
712
717
 
713
718
  url_with_params
@@ -58,6 +58,7 @@ require_relative 'sdk/models/operations/upsertapi'
58
58
  require_relative 'sdk/models/operations/upsertapiendpoint'
59
59
  require_relative 'sdk/models/operations/upsertplugin'
60
60
  require_relative 'sdk/models/operations/validateapikey'
61
+ require_relative 'sdk/sdkconfiguration'
61
62
  require_relative 'sdk/apiendpoints'
62
63
  require_relative 'sdk/apis'
63
64
  require_relative 'sdk/embeds'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: speakeasy_client_sdk_ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.14.0
4
+ version: 1.15.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Speakeasy
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-07-14 00:00:00.000000000 Z
11
+ date: 2023-07-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -173,6 +173,7 @@ files:
173
173
  - lib/sdk/requests.rb
174
174
  - lib/sdk/schemas.rb
175
175
  - lib/sdk/sdk.rb
176
+ - lib/sdk/sdkconfiguration.rb
176
177
  - lib/sdk/utils/metadata_fields.rb
177
178
  - lib/sdk/utils/retries.rb
178
179
  - lib/sdk/utils/utils.rb