togglr-sdk 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/Gemfile +15 -0
- data/LICENSE +21 -0
- data/README.md +297 -0
- data/generated/Gemfile +9 -0
- data/generated/README.md +121 -0
- data/generated/Rakefile +10 -0
- data/generated/docs/DefaultApi.md +282 -0
- data/generated/docs/Error.md +18 -0
- data/generated/docs/ErrorBadRequest.md +18 -0
- data/generated/docs/ErrorError.md +18 -0
- data/generated/docs/ErrorInternalServerError.md +18 -0
- data/generated/docs/ErrorNotFound.md +18 -0
- data/generated/docs/ErrorPermissionDenied.md +18 -0
- data/generated/docs/ErrorTooManyRequests.md +18 -0
- data/generated/docs/ErrorUnauthorized.md +18 -0
- data/generated/docs/EvaluateResponse.md +22 -0
- data/generated/docs/FeatureErrorReport.md +22 -0
- data/generated/docs/FeatureHealth.md +30 -0
- data/generated/docs/HealthResponse.md +20 -0
- data/generated/git_push.sh +57 -0
- data/generated/lib/togglr-client/api/default_api.rb +284 -0
- data/generated/lib/togglr-client/api_client.rb +437 -0
- data/generated/lib/togglr-client/api_error.rb +58 -0
- data/generated/lib/togglr-client/configuration.rb +392 -0
- data/generated/lib/togglr-client/models/error.rb +237 -0
- data/generated/lib/togglr-client/models/error_bad_request.rb +244 -0
- data/generated/lib/togglr-client/models/error_error.rb +220 -0
- data/generated/lib/togglr-client/models/error_internal_server_error.rb +244 -0
- data/generated/lib/togglr-client/models/error_not_found.rb +244 -0
- data/generated/lib/togglr-client/models/error_permission_denied.rb +244 -0
- data/generated/lib/togglr-client/models/error_too_many_requests.rb +244 -0
- data/generated/lib/togglr-client/models/error_unauthorized.rb +244 -0
- data/generated/lib/togglr-client/models/evaluate_response.rb +289 -0
- data/generated/lib/togglr-client/models/feature_error_report.rb +274 -0
- data/generated/lib/togglr-client/models/feature_health.rb +342 -0
- data/generated/lib/togglr-client/models/health_response.rb +287 -0
- data/generated/lib/togglr-client/version.rb +15 -0
- data/generated/lib/togglr-client.rb +52 -0
- data/generated/spec/api/default_api_spec.rb +81 -0
- data/generated/spec/models/error_bad_request_spec.rb +36 -0
- data/generated/spec/models/error_error_spec.rb +36 -0
- data/generated/spec/models/error_internal_server_error_spec.rb +36 -0
- data/generated/spec/models/error_not_found_spec.rb +36 -0
- data/generated/spec/models/error_permission_denied_spec.rb +36 -0
- data/generated/spec/models/error_spec.rb +36 -0
- data/generated/spec/models/error_too_many_requests_spec.rb +36 -0
- data/generated/spec/models/error_unauthorized_spec.rb +36 -0
- data/generated/spec/models/evaluate_response_spec.rb +48 -0
- data/generated/spec/models/feature_error_report_spec.rb +48 -0
- data/generated/spec/models/feature_health_spec.rb +72 -0
- data/generated/spec/models/health_response_spec.rb +46 -0
- data/generated/spec/spec_helper.rb +111 -0
- data/generated/togglr-client.gemspec +41 -0
- data/lib/togglr/cache.rb +45 -0
- data/lib/togglr/client.rb +267 -0
- data/lib/togglr/config.rb +37 -0
- data/lib/togglr/errors.rb +25 -0
- data/lib/togglr/logger.rb +38 -0
- data/lib/togglr/metrics.rb +44 -0
- data/lib/togglr/models.rb +56 -0
- data/lib/togglr/options.rb +57 -0
- data/lib/togglr/request_context.rb +147 -0
- data/lib/togglr/version.rb +3 -0
- data/lib/togglr-client/api/default_api.rb +284 -0
- data/lib/togglr-client/api_client.rb +437 -0
- data/lib/togglr-client/api_error.rb +58 -0
- data/lib/togglr-client/configuration.rb +392 -0
- data/lib/togglr-client/models/error.rb +237 -0
- data/lib/togglr-client/models/error_bad_request.rb +244 -0
- data/lib/togglr-client/models/error_error.rb +220 -0
- data/lib/togglr-client/models/error_internal_server_error.rb +244 -0
- data/lib/togglr-client/models/error_not_found.rb +244 -0
- data/lib/togglr-client/models/error_permission_denied.rb +244 -0
- data/lib/togglr-client/models/error_too_many_requests.rb +244 -0
- data/lib/togglr-client/models/error_unauthorized.rb +244 -0
- data/lib/togglr-client/models/evaluate_response.rb +289 -0
- data/lib/togglr-client/models/feature_error_report.rb +274 -0
- data/lib/togglr-client/models/feature_health.rb +342 -0
- data/lib/togglr-client/models/health_response.rb +287 -0
- data/lib/togglr-client/version.rb +15 -0
- data/lib/togglr-client.rb +52 -0
- data/lib/togglr.rb +14 -0
- data/spec/examples.txt +11 -0
- data/spec/spec_helper.rb +29 -0
- data/spec/togglr_spec.rb +98 -0
- metadata +199 -0
@@ -0,0 +1,284 @@
|
|
1
|
+
=begin
|
2
|
+
#SDK API
|
3
|
+
|
4
|
+
#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
5
|
+
|
6
|
+
The version of the OpenAPI document: 1.0.0
|
7
|
+
|
8
|
+
Generated by: https://openapi-generator.tech
|
9
|
+
Generator version: 7.15.0
|
10
|
+
|
11
|
+
=end
|
12
|
+
|
13
|
+
require 'cgi'
|
14
|
+
|
15
|
+
module TogglrClient
|
16
|
+
class DefaultApi
|
17
|
+
attr_accessor :api_client
|
18
|
+
|
19
|
+
def initialize(api_client = ApiClient.default)
|
20
|
+
@api_client = api_client
|
21
|
+
end
|
22
|
+
# Get health status of feature (including auto-disable state)
|
23
|
+
# @param feature_key [String]
|
24
|
+
# @param [Hash] opts the optional parameters
|
25
|
+
# @return [FeatureHealth]
|
26
|
+
def get_feature_health(feature_key, opts = {})
|
27
|
+
data, _status_code, _headers = get_feature_health_with_http_info(feature_key, opts)
|
28
|
+
data
|
29
|
+
end
|
30
|
+
|
31
|
+
# Get health status of feature (including auto-disable state)
|
32
|
+
# @param feature_key [String]
|
33
|
+
# @param [Hash] opts the optional parameters
|
34
|
+
# @return [Array<(FeatureHealth, Integer, Hash)>] FeatureHealth data, response status code and response headers
|
35
|
+
def get_feature_health_with_http_info(feature_key, opts = {})
|
36
|
+
if @api_client.config.debugging
|
37
|
+
@api_client.config.logger.debug 'Calling API: DefaultApi.get_feature_health ...'
|
38
|
+
end
|
39
|
+
# verify the required parameter 'feature_key' is set
|
40
|
+
if @api_client.config.client_side_validation && feature_key.nil?
|
41
|
+
fail ArgumentError, "Missing the required parameter 'feature_key' when calling DefaultApi.get_feature_health"
|
42
|
+
end
|
43
|
+
# resource path
|
44
|
+
local_var_path = '/sdk/v1/features/{feature_key}/health'.sub('{' + 'feature_key' + '}', CGI.escape(feature_key.to_s))
|
45
|
+
|
46
|
+
# query parameters
|
47
|
+
query_params = opts[:query_params] || {}
|
48
|
+
|
49
|
+
# header parameters
|
50
|
+
header_params = opts[:header_params] || {}
|
51
|
+
# HTTP header 'Accept' (if needed)
|
52
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
|
53
|
+
|
54
|
+
# form parameters
|
55
|
+
form_params = opts[:form_params] || {}
|
56
|
+
|
57
|
+
# http body (model)
|
58
|
+
post_body = opts[:debug_body]
|
59
|
+
|
60
|
+
# return_type
|
61
|
+
return_type = opts[:debug_return_type] || 'FeatureHealth'
|
62
|
+
|
63
|
+
# auth_names
|
64
|
+
auth_names = opts[:debug_auth_names] || ['ApiKeyAuth']
|
65
|
+
|
66
|
+
new_options = opts.merge(
|
67
|
+
:operation => :"DefaultApi.get_feature_health",
|
68
|
+
:header_params => header_params,
|
69
|
+
:query_params => query_params,
|
70
|
+
:form_params => form_params,
|
71
|
+
:body => post_body,
|
72
|
+
:auth_names => auth_names,
|
73
|
+
:return_type => return_type
|
74
|
+
)
|
75
|
+
|
76
|
+
data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
|
77
|
+
if @api_client.config.debugging
|
78
|
+
@api_client.config.logger.debug "API called: DefaultApi#get_feature_health\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
79
|
+
end
|
80
|
+
return data, status_code, headers
|
81
|
+
end
|
82
|
+
|
83
|
+
# Report feature execution error (for auto-disable)
|
84
|
+
# @param feature_key [String]
|
85
|
+
# @param feature_error_report [FeatureErrorReport]
|
86
|
+
# @param [Hash] opts the optional parameters
|
87
|
+
# @return [nil]
|
88
|
+
def report_feature_error(feature_key, feature_error_report, opts = {})
|
89
|
+
report_feature_error_with_http_info(feature_key, feature_error_report, opts)
|
90
|
+
nil
|
91
|
+
end
|
92
|
+
|
93
|
+
# Report feature execution error (for auto-disable)
|
94
|
+
# @param feature_key [String]
|
95
|
+
# @param feature_error_report [FeatureErrorReport]
|
96
|
+
# @param [Hash] opts the optional parameters
|
97
|
+
# @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
|
98
|
+
def report_feature_error_with_http_info(feature_key, feature_error_report, opts = {})
|
99
|
+
if @api_client.config.debugging
|
100
|
+
@api_client.config.logger.debug 'Calling API: DefaultApi.report_feature_error ...'
|
101
|
+
end
|
102
|
+
# verify the required parameter 'feature_key' is set
|
103
|
+
if @api_client.config.client_side_validation && feature_key.nil?
|
104
|
+
fail ArgumentError, "Missing the required parameter 'feature_key' when calling DefaultApi.report_feature_error"
|
105
|
+
end
|
106
|
+
# verify the required parameter 'feature_error_report' is set
|
107
|
+
if @api_client.config.client_side_validation && feature_error_report.nil?
|
108
|
+
fail ArgumentError, "Missing the required parameter 'feature_error_report' when calling DefaultApi.report_feature_error"
|
109
|
+
end
|
110
|
+
# resource path
|
111
|
+
local_var_path = '/sdk/v1/features/{feature_key}/report-error'.sub('{' + 'feature_key' + '}', CGI.escape(feature_key.to_s))
|
112
|
+
|
113
|
+
# query parameters
|
114
|
+
query_params = opts[:query_params] || {}
|
115
|
+
|
116
|
+
# header parameters
|
117
|
+
header_params = opts[:header_params] || {}
|
118
|
+
# HTTP header 'Accept' (if needed)
|
119
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
|
120
|
+
# HTTP header 'Content-Type'
|
121
|
+
content_type = @api_client.select_header_content_type(['application/json'])
|
122
|
+
if !content_type.nil?
|
123
|
+
header_params['Content-Type'] = content_type
|
124
|
+
end
|
125
|
+
|
126
|
+
# form parameters
|
127
|
+
form_params = opts[:form_params] || {}
|
128
|
+
|
129
|
+
# http body (model)
|
130
|
+
post_body = opts[:debug_body] || @api_client.object_to_http_body(feature_error_report)
|
131
|
+
|
132
|
+
# return_type
|
133
|
+
return_type = opts[:debug_return_type]
|
134
|
+
|
135
|
+
# auth_names
|
136
|
+
auth_names = opts[:debug_auth_names] || ['ApiKeyAuth']
|
137
|
+
|
138
|
+
new_options = opts.merge(
|
139
|
+
:operation => :"DefaultApi.report_feature_error",
|
140
|
+
:header_params => header_params,
|
141
|
+
:query_params => query_params,
|
142
|
+
:form_params => form_params,
|
143
|
+
:body => post_body,
|
144
|
+
:auth_names => auth_names,
|
145
|
+
:return_type => return_type
|
146
|
+
)
|
147
|
+
|
148
|
+
data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
|
149
|
+
if @api_client.config.debugging
|
150
|
+
@api_client.config.logger.debug "API called: DefaultApi#report_feature_error\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
151
|
+
end
|
152
|
+
return data, status_code, headers
|
153
|
+
end
|
154
|
+
|
155
|
+
# Evaluate feature for given context
|
156
|
+
# Returns feature evaluation result for given project and context. The project is derived from the API key.
|
157
|
+
# @param feature_key [String]
|
158
|
+
# @param request_body [Hash<String, Object>]
|
159
|
+
# @param [Hash] opts the optional parameters
|
160
|
+
# @return [EvaluateResponse]
|
161
|
+
def sdk_v1_features_feature_key_evaluate_post(feature_key, request_body, opts = {})
|
162
|
+
data, _status_code, _headers = sdk_v1_features_feature_key_evaluate_post_with_http_info(feature_key, request_body, opts)
|
163
|
+
data
|
164
|
+
end
|
165
|
+
|
166
|
+
# Evaluate feature for given context
|
167
|
+
# Returns feature evaluation result for given project and context. The project is derived from the API key.
|
168
|
+
# @param feature_key [String]
|
169
|
+
# @param request_body [Hash<String, Object>]
|
170
|
+
# @param [Hash] opts the optional parameters
|
171
|
+
# @return [Array<(EvaluateResponse, Integer, Hash)>] EvaluateResponse data, response status code and response headers
|
172
|
+
def sdk_v1_features_feature_key_evaluate_post_with_http_info(feature_key, request_body, opts = {})
|
173
|
+
if @api_client.config.debugging
|
174
|
+
@api_client.config.logger.debug 'Calling API: DefaultApi.sdk_v1_features_feature_key_evaluate_post ...'
|
175
|
+
end
|
176
|
+
# verify the required parameter 'feature_key' is set
|
177
|
+
if @api_client.config.client_side_validation && feature_key.nil?
|
178
|
+
fail ArgumentError, "Missing the required parameter 'feature_key' when calling DefaultApi.sdk_v1_features_feature_key_evaluate_post"
|
179
|
+
end
|
180
|
+
# verify the required parameter 'request_body' is set
|
181
|
+
if @api_client.config.client_side_validation && request_body.nil?
|
182
|
+
fail ArgumentError, "Missing the required parameter 'request_body' when calling DefaultApi.sdk_v1_features_feature_key_evaluate_post"
|
183
|
+
end
|
184
|
+
# resource path
|
185
|
+
local_var_path = '/sdk/v1/features/{feature_key}/evaluate'.sub('{' + 'feature_key' + '}', CGI.escape(feature_key.to_s))
|
186
|
+
|
187
|
+
# query parameters
|
188
|
+
query_params = opts[:query_params] || {}
|
189
|
+
|
190
|
+
# header parameters
|
191
|
+
header_params = opts[:header_params] || {}
|
192
|
+
# HTTP header 'Accept' (if needed)
|
193
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
|
194
|
+
# HTTP header 'Content-Type'
|
195
|
+
content_type = @api_client.select_header_content_type(['application/json'])
|
196
|
+
if !content_type.nil?
|
197
|
+
header_params['Content-Type'] = content_type
|
198
|
+
end
|
199
|
+
|
200
|
+
# form parameters
|
201
|
+
form_params = opts[:form_params] || {}
|
202
|
+
|
203
|
+
# http body (model)
|
204
|
+
post_body = opts[:debug_body] || @api_client.object_to_http_body(request_body)
|
205
|
+
|
206
|
+
# return_type
|
207
|
+
return_type = opts[:debug_return_type] || 'EvaluateResponse'
|
208
|
+
|
209
|
+
# auth_names
|
210
|
+
auth_names = opts[:debug_auth_names] || ['ApiKeyAuth']
|
211
|
+
|
212
|
+
new_options = opts.merge(
|
213
|
+
:operation => :"DefaultApi.sdk_v1_features_feature_key_evaluate_post",
|
214
|
+
:header_params => header_params,
|
215
|
+
:query_params => query_params,
|
216
|
+
:form_params => form_params,
|
217
|
+
:body => post_body,
|
218
|
+
:auth_names => auth_names,
|
219
|
+
:return_type => return_type
|
220
|
+
)
|
221
|
+
|
222
|
+
data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
|
223
|
+
if @api_client.config.debugging
|
224
|
+
@api_client.config.logger.debug "API called: DefaultApi#sdk_v1_features_feature_key_evaluate_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
225
|
+
end
|
226
|
+
return data, status_code, headers
|
227
|
+
end
|
228
|
+
|
229
|
+
# Health check for SDK server
|
230
|
+
# @param [Hash] opts the optional parameters
|
231
|
+
# @return [HealthResponse]
|
232
|
+
def sdk_v1_health_get(opts = {})
|
233
|
+
data, _status_code, _headers = sdk_v1_health_get_with_http_info(opts)
|
234
|
+
data
|
235
|
+
end
|
236
|
+
|
237
|
+
# Health check for SDK server
|
238
|
+
# @param [Hash] opts the optional parameters
|
239
|
+
# @return [Array<(HealthResponse, Integer, Hash)>] HealthResponse data, response status code and response headers
|
240
|
+
def sdk_v1_health_get_with_http_info(opts = {})
|
241
|
+
if @api_client.config.debugging
|
242
|
+
@api_client.config.logger.debug 'Calling API: DefaultApi.sdk_v1_health_get ...'
|
243
|
+
end
|
244
|
+
# resource path
|
245
|
+
local_var_path = '/sdk/v1/health'
|
246
|
+
|
247
|
+
# query parameters
|
248
|
+
query_params = opts[:query_params] || {}
|
249
|
+
|
250
|
+
# header parameters
|
251
|
+
header_params = opts[:header_params] || {}
|
252
|
+
# HTTP header 'Accept' (if needed)
|
253
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
|
254
|
+
|
255
|
+
# form parameters
|
256
|
+
form_params = opts[:form_params] || {}
|
257
|
+
|
258
|
+
# http body (model)
|
259
|
+
post_body = opts[:debug_body]
|
260
|
+
|
261
|
+
# return_type
|
262
|
+
return_type = opts[:debug_return_type] || 'HealthResponse'
|
263
|
+
|
264
|
+
# auth_names
|
265
|
+
auth_names = opts[:debug_auth_names] || []
|
266
|
+
|
267
|
+
new_options = opts.merge(
|
268
|
+
:operation => :"DefaultApi.sdk_v1_health_get",
|
269
|
+
:header_params => header_params,
|
270
|
+
:query_params => query_params,
|
271
|
+
:form_params => form_params,
|
272
|
+
:body => post_body,
|
273
|
+
:auth_names => auth_names,
|
274
|
+
:return_type => return_type
|
275
|
+
)
|
276
|
+
|
277
|
+
data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
|
278
|
+
if @api_client.config.debugging
|
279
|
+
@api_client.config.logger.debug "API called: DefaultApi#sdk_v1_health_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
280
|
+
end
|
281
|
+
return data, status_code, headers
|
282
|
+
end
|
283
|
+
end
|
284
|
+
end
|