bubbles-rest-client 0.3.1 → 0.4.1
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 +4 -4
- data/Gemfile.lock +6 -4
- data/lib/bubbles/config.rb +21 -21
- data/lib/bubbles/endpoint.rb +14 -1
- data/lib/bubbles/rest_client_resources.rb +58 -36
- data/lib/bubbles/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: aa7191e00b0fa6396be519250117e31e924c258f368cf7d1c9e02697234bcab0
|
4
|
+
data.tar.gz: e989353ef2ef2fc4cb07014fb3b2a9a0dfce0bf778b820582c98c13502c1de1d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 046af961bf1da02e71a2193cfad8cd048084dc021e6786bfc1df753d54730284b4d3bd309f383b8b9456e4628a5c21a24beccbbddc25977c6b93c40485b1bfe8
|
7
|
+
data.tar.gz: 579c841ef7eb221a3d86e3e0ef13e77e77fb08a9ecacf70847f4a5c38509b7de2541507b9d45d05b26eb98c3e93dfcc61b229cbd8b8efba70c8b44336a361530
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
bubbles-rest-client (0.
|
4
|
+
bubbles-rest-client (0.4.0)
|
5
5
|
addressable (~> 2.5)
|
6
6
|
rest-client (~> 2.0)
|
7
7
|
|
@@ -19,12 +19,13 @@ GEM
|
|
19
19
|
domain_name (0.5.20190701)
|
20
20
|
unf (>= 0.0.5, < 1.0.0)
|
21
21
|
hashdiff (1.0.0)
|
22
|
+
http-accept (1.7.0)
|
22
23
|
http-cookie (1.0.3)
|
23
24
|
domain_name (~> 0.5)
|
24
25
|
json (2.0.2)
|
25
|
-
mime-types (3.
|
26
|
+
mime-types (3.3)
|
26
27
|
mime-types-data (~> 3.2015)
|
27
|
-
mime-types-data (3.2019.
|
28
|
+
mime-types-data (3.2019.0904)
|
28
29
|
minitest (5.11.3)
|
29
30
|
minitest-reporters (1.1.19)
|
30
31
|
ansi
|
@@ -34,7 +35,8 @@ GEM
|
|
34
35
|
netrc (0.11.0)
|
35
36
|
public_suffix (3.0.3)
|
36
37
|
rake (10.5.0)
|
37
|
-
rest-client (2.0
|
38
|
+
rest-client (2.1.0)
|
39
|
+
http-accept (>= 1.7.0, < 2.0)
|
38
40
|
http-cookie (>= 1.0.2, < 2.0)
|
39
41
|
mime-types (>= 1.16, < 4.0)
|
40
42
|
netrc (~> 0.8)
|
data/lib/bubbles/config.rb
CHANGED
@@ -103,7 +103,7 @@ module Bubbles
|
|
103
103
|
def endpoints=(endpoints)
|
104
104
|
new_endpoints = Hash.new
|
105
105
|
endpoints.each do |ep|
|
106
|
-
endpoint_object = Endpoint.new ep[:method], ep[:location].to_s, ep[:authenticated], ep[:api_key_required], ep[:name], ep[:return_type], ep[:encode_authorization]
|
106
|
+
endpoint_object = Endpoint.new ep[:method], ep[:location].to_s, ep[:authenticated], ep[:api_key_required], ep[:name], ep[:return_type], ep[:encode_authorization], ep[:headers]
|
107
107
|
|
108
108
|
new_endpoints[endpoint_object.get_key_string] = endpoint_object
|
109
109
|
end
|
@@ -129,18 +129,18 @@ module Bubbles
|
|
129
129
|
Bubbles::RestEnvironment.class_exec do
|
130
130
|
if endpoint.has_uri_params?
|
131
131
|
define_method(endpoint_name_as_sym) do |auth_token, uri_params|
|
132
|
-
RestClientResources.execute_get_authenticated self, endpoint, auth_token, uri_params
|
132
|
+
RestClientResources.execute_get_authenticated self, endpoint, auth_token, uri_params, endpoint.additional_headers
|
133
133
|
end
|
134
134
|
else
|
135
135
|
define_method(endpoint_name_as_sym) do |auth_token|
|
136
|
-
RestClientResources.execute_get_authenticated self, endpoint, auth_token,
|
136
|
+
RestClientResources.execute_get_authenticated self, endpoint, auth_token,{}, endpoint.additional_headers
|
137
137
|
end
|
138
138
|
end
|
139
139
|
end
|
140
140
|
else
|
141
141
|
Bubbles::RestEnvironment.class_exec do
|
142
142
|
define_method(endpoint_name_as_sym) do
|
143
|
-
RestClientResources.execute_get_unauthenticated self, endpoint
|
143
|
+
RestClientResources.execute_get_unauthenticated self, endpoint, endpoint.additional_headers
|
144
144
|
end
|
145
145
|
end
|
146
146
|
end
|
@@ -148,14 +148,14 @@ module Bubbles
|
|
148
148
|
if endpoint.authenticated?
|
149
149
|
Bubbles::RestEnvironment.class_exec do
|
150
150
|
define_method(endpoint_name_as_sym) do |auth_token, data|
|
151
|
-
RestClientResources.execute_post_authenticated self, endpoint, auth_token, data
|
151
|
+
RestClientResources.execute_post_authenticated self, endpoint, auth_token, data, endpoint.additional_headers
|
152
152
|
end
|
153
153
|
end
|
154
154
|
else
|
155
155
|
if endpoint.api_key_required?
|
156
156
|
Bubbles::RestEnvironment.class_exec do
|
157
157
|
define_method(endpoint_name_as_sym) do |data|
|
158
|
-
additional_headers =
|
158
|
+
additional_headers = endpoint.additional_headers
|
159
159
|
if endpoint.encode_authorization_header?
|
160
160
|
count = 0
|
161
161
|
auth_value = ''
|
@@ -188,7 +188,7 @@ module Bubbles
|
|
188
188
|
Bubbles::RestEnvironment.class_exec do
|
189
189
|
if endpoint.has_uri_params?
|
190
190
|
define_method(endpoint_name_as_sym) do |auth_token, uri_params|
|
191
|
-
RestClientResources.execute_delete_authenticated self, endpoint, auth_token, uri_params
|
191
|
+
RestClientResources.execute_delete_authenticated self, endpoint, auth_token, uri_params, endpoint.additional_headers
|
192
192
|
end
|
193
193
|
else
|
194
194
|
# NOTE: While MDN states that DELETE requests with a body are allowed, it seems that a number of
|
@@ -214,13 +214,13 @@ module Bubbles
|
|
214
214
|
Bubbles::RestEnvironment.class_exec do
|
215
215
|
if endpoint.has_uri_params?
|
216
216
|
define_method(endpoint_name_as_sym) do |auth_token, uri_params, data|
|
217
|
-
RestClientResources.execute_patch_authenticated self, endpoint, auth_token, uri_params, data
|
217
|
+
RestClientResources.execute_patch_authenticated self, endpoint, auth_token, uri_params, data, endpoint.additional_headers
|
218
218
|
end
|
219
219
|
else
|
220
220
|
define_method(endpoint_name_as_sym) do |auth_token, data|
|
221
221
|
# TODO: Nothing tests this case. We need something to test this case or we run the risk of
|
222
222
|
# it having bugs (uri_params was nil previously!)
|
223
|
-
RestClientResources.execute_patch_authenticated self, endpoint, auth_token, {}, data
|
223
|
+
RestClientResources.execute_patch_authenticated self, endpoint, auth_token, {}, data, endpoint.additional_headers
|
224
224
|
end
|
225
225
|
end
|
226
226
|
end
|
@@ -228,11 +228,11 @@ module Bubbles
|
|
228
228
|
Bubbles::RestEnvironment.class_exec do
|
229
229
|
if endpoint.has_uri_params?
|
230
230
|
define_method(endpoint_name_as_sym) do |uri_params, data|
|
231
|
-
RestClientResources.execute_patch_unauthenticated self, endpoint, uri_params, data
|
231
|
+
RestClientResources.execute_patch_unauthenticated self, endpoint, uri_params, data, endpoint.additional_headers
|
232
232
|
end
|
233
233
|
else
|
234
234
|
define_method(endpoint_name_as_sym) do |data|
|
235
|
-
RestClientResources.execute_patch_unauthenticated self, endpoint, {}, data
|
235
|
+
RestClientResources.execute_patch_unauthenticated self, endpoint, {}, data, endpoint.additional_headers
|
236
236
|
end
|
237
237
|
end
|
238
238
|
end
|
@@ -242,13 +242,13 @@ module Bubbles
|
|
242
242
|
Bubbles::RestEnvironment.class_exec do
|
243
243
|
if endpoint.has_uri_params?
|
244
244
|
define_method(endpoint_name_as_sym) do |auth_token, uri_params, data|
|
245
|
-
RestClientResources.execute_put_authenticated self, endpoint, auth_token, uri_params, data
|
245
|
+
RestClientResources.execute_put_authenticated self, endpoint, auth_token, uri_params, data, endpoint.additional_headers
|
246
246
|
end
|
247
247
|
else
|
248
248
|
define_method(endpoint_name_as_sym) do |auth_token, data|
|
249
249
|
# TODO: Nothing tests this case. We need something to test this case or we run the risk of
|
250
250
|
# it having bugs (uri_params was nil previously!)
|
251
|
-
RestClientResources.execute_put_authenticated self, endpoint, auth_token, {}, data
|
251
|
+
RestClientResources.execute_put_authenticated self, endpoint, auth_token, {}, data, endpoint.additional_headers
|
252
252
|
end
|
253
253
|
end
|
254
254
|
end
|
@@ -257,11 +257,11 @@ module Bubbles
|
|
257
257
|
Bubbles::RestEnvironment.class_exec do
|
258
258
|
if endpoint.has_uri_params?
|
259
259
|
define_method(endpoint_name_as_sym) do |uri_params, data|
|
260
|
-
RestClientResources.execute_put_unauthenticated self, endpoint, uri_params, data
|
260
|
+
RestClientResources.execute_put_unauthenticated self, endpoint, uri_params, data, endpoint.additional_headers
|
261
261
|
end
|
262
262
|
else
|
263
263
|
define_method(endpoint_name_as_sym) do |data|
|
264
|
-
RestClientResources.execute_put_unauthenticated self, endpoint, {}, data
|
264
|
+
RestClientResources.execute_put_unauthenticated self, endpoint, {}, data, endpoint.additional_headers
|
265
265
|
end
|
266
266
|
end
|
267
267
|
end
|
@@ -271,11 +271,11 @@ module Bubbles
|
|
271
271
|
Bubbles::RestEnvironment.class_exec do
|
272
272
|
if endpoint.has_uri_params?
|
273
273
|
define_method(endpoint_name_as_sym) do |auth_token, uri_params|
|
274
|
-
RestClientResources.execute_head_authenticated self, endpoint, auth_token, uri_params
|
274
|
+
RestClientResources.execute_head_authenticated self, endpoint, auth_token, uri_params, endpoint.additional_headers
|
275
275
|
end
|
276
276
|
else
|
277
277
|
define_method(endpoint_name_as_sym) do |auth_token|
|
278
|
-
RestClientResources.execute_head_authenticated self, endpoint, auth_token, {}
|
278
|
+
RestClientResources.execute_head_authenticated self, endpoint, auth_token, {}, endpoint.additional_headers
|
279
279
|
end
|
280
280
|
end
|
281
281
|
end
|
@@ -283,11 +283,11 @@ module Bubbles
|
|
283
283
|
Bubbles::RestEnvironment.class_exec do
|
284
284
|
if endpoint.has_uri_params?
|
285
285
|
define_method(endpoint_name_as_sym) do |uri_params|
|
286
|
-
RestClientResources.execute_head_unauthenticated_with_uri_params self, endpoint, self.api_key, uri_params
|
286
|
+
RestClientResources.execute_head_unauthenticated_with_uri_params self, endpoint, self.api_key, uri_params, endpoint.additional_headers
|
287
287
|
end
|
288
288
|
else
|
289
289
|
define_method(endpoint_name_as_sym) do
|
290
|
-
RestClientResources.execute_head_unauthenticated self, endpoint, self.api_key,
|
290
|
+
RestClientResources.execute_head_unauthenticated self, endpoint, self.api_key, endpoint.additional_headers
|
291
291
|
end
|
292
292
|
end
|
293
293
|
end
|
@@ -295,11 +295,11 @@ module Bubbles
|
|
295
295
|
Bubbles::RestEnvironment.class_exec do
|
296
296
|
if endpoint.has_uri_params?
|
297
297
|
define_method(endpoint_name_as_sym) do |uri_params|
|
298
|
-
RestClientResources.execute_head_unauthenticated self, endpoint, uri_params,
|
298
|
+
RestClientResources.execute_head_unauthenticated self, endpoint, uri_params, endpoint.additional_headers
|
299
299
|
end
|
300
300
|
else
|
301
301
|
define_method(endpoint_name_as_sym) do
|
302
|
-
RestClientResources.execute_head_unauthenticated self, endpoint, {},
|
302
|
+
RestClientResources.execute_head_unauthenticated self, endpoint, {}, endpoint.additional_headers
|
303
303
|
end
|
304
304
|
end
|
305
305
|
end
|
data/lib/bubbles/endpoint.rb
CHANGED
@@ -74,13 +74,14 @@ module Bubbles
|
|
74
74
|
# @param [Array<Symbol>] encode_authorization Parameters that should be treated as authorization parameters and
|
75
75
|
# encoded using a Base64 encoding.
|
76
76
|
#
|
77
|
-
def initialize(method, location, auth_required = false, api_key_required = false, name = nil, return_type = :body_as_string, encode_authorization = {})
|
77
|
+
def initialize(method, location, auth_required = false, api_key_required = false, name = nil, return_type = :body_as_string, encode_authorization = {}, headers = {})
|
78
78
|
@method = method
|
79
79
|
@location = location
|
80
80
|
@auth_required = auth_required
|
81
81
|
@api_key_required = api_key_required
|
82
82
|
@name = name
|
83
83
|
@encode_authorization = encode_authorization
|
84
|
+
@additional_headers = headers
|
84
85
|
|
85
86
|
unless Endpoint::RETURN_TYPES.include? return_type.to_s
|
86
87
|
return_type = :body_as_string
|
@@ -272,5 +273,17 @@ module Bubbles
|
|
272
273
|
def has_uri_params?
|
273
274
|
!@uri_params.empty?
|
274
275
|
end
|
276
|
+
|
277
|
+
def additional_headers
|
278
|
+
unless @additional_headers
|
279
|
+
@additional_headers = {}
|
280
|
+
end
|
281
|
+
|
282
|
+
@additional_headers
|
283
|
+
end
|
284
|
+
|
285
|
+
def has_additional_headers?
|
286
|
+
not additional_headers.empty?
|
287
|
+
end
|
275
288
|
end
|
276
289
|
end
|
@@ -32,11 +32,13 @@ module Bubbles
|
|
32
32
|
#
|
33
33
|
# @param [RestEnvironment] env The +RestEnvironment+ to use to execute the request
|
34
34
|
# @param [Endpoint] endpoint The +Endpoint+ which should be requested
|
35
|
+
# @param [Hash] additional_headers A +Hash+ of key-value pairs that will be sent as additional headers in the API
|
36
|
+
# call. Defaults to an empty +Hash+.
|
35
37
|
#
|
36
38
|
# @return [RestClient::Response] The +Response+ resulting from the execution of the GET call.
|
37
39
|
#
|
38
|
-
def self.execute_get_unauthenticated(env, endpoint)
|
39
|
-
execute_rest_call(env, endpoint, nil, nil,
|
40
|
+
def self.execute_get_unauthenticated(env, endpoint, additional_headers = {})
|
41
|
+
execute_rest_call(env, endpoint, nil, nil, additional_headers) do |env, url, data, headers|
|
40
42
|
if env.scheme == 'https'
|
41
43
|
next RestClient::Resource.new(url.to_s, :verify_ssl => OpenSSL::SSL::VERIFY_NONE)
|
42
44
|
.get(headers)
|
@@ -55,11 +57,13 @@ module Bubbles
|
|
55
57
|
# @param [Endpoint] endpoint The +Endpoint+ which should be requested
|
56
58
|
# @param [String] auth_token The authorization token to use for authentication.
|
57
59
|
# @param [Hash] uri_params A +Hash+ of identifiers to values to replace in the URI string.
|
60
|
+
# @param [Hash] additional_headers A +Hash+ of key-value pairs that will be sent as additional headers in the API
|
61
|
+
# call. Defaults to an empty +Hash+.
|
58
62
|
#
|
59
63
|
# @return [RestClient::Response] The +Response+ resulting from the execution of the GET call.
|
60
64
|
#
|
61
|
-
def self.execute_get_authenticated(env, endpoint, auth_token, uri_params)
|
62
|
-
execute_rest_call(env, endpoint, nil, auth_token,
|
65
|
+
def self.execute_get_authenticated(env, endpoint, auth_token, uri_params, additional_headers = {})
|
66
|
+
execute_rest_call(env, endpoint, nil, auth_token, additional_headers, uri_params) do |env, url, data, headers|
|
63
67
|
if env.scheme == 'https'
|
64
68
|
next RestClient::Resource.new(url.to_s, :verify_ssl => OpenSSL::SSL::VERIFY_NONE)
|
65
69
|
.get(headers)
|
@@ -76,10 +80,13 @@ module Bubbles
|
|
76
80
|
#
|
77
81
|
# @param [RestEnvironment] env The +RestEnvironment+ to use to execute the request
|
78
82
|
# @param [Endpoint] endpoint The +Endpoint+ which should be requested
|
83
|
+
# @param [Hash] uri_params A +Hash+ of identifiers to values to replace in the URI string.
|
84
|
+
# @param [Hash] additional_headers A +Hash+ of key-value pairs that will be sent as additional headers in the API
|
85
|
+
# call. Defaults to an empty +Hash+.
|
79
86
|
#
|
80
87
|
# @return [RestClient::Response] The +Response+ resulting from the execution of the GET call.
|
81
88
|
#
|
82
|
-
def self.execute_head_unauthenticated(env, endpoint, uri_params, additional_headers)
|
89
|
+
def self.execute_head_unauthenticated(env, endpoint, uri_params, additional_headers = {})
|
83
90
|
execute_rest_call(env, endpoint, nil, nil, additional_headers, uri_params) do |env, url, data, headers|
|
84
91
|
if env.scheme == 'https'
|
85
92
|
next RestClient::Resource.new(url.to_s, :verify_ssl => OpenSSL::SSL::VERIFY_NONE)
|
@@ -100,11 +107,13 @@ module Bubbles
|
|
100
107
|
# @param [Endpoint] endpoint The +Endpoint+ which should be requested
|
101
108
|
# @param [String] auth_token The authorization token to use for authentication.
|
102
109
|
# @param [Hash] uri_params A +Hash+ of identifiers to values to replace in the URI string.
|
110
|
+
# @param [Hash] additional_headers A +Hash+ of key-value pairs that will be sent as additional headers in the API
|
111
|
+
# call. Defaults to an empty +Hash+.
|
103
112
|
#
|
104
113
|
# @return [RestClient::Response] The +Response+ resulting from the execution of the HEAD call.
|
105
114
|
#
|
106
|
-
def self.execute_head_authenticated(env, endpoint, auth_token, uri_params)
|
107
|
-
execute_rest_call(env, endpoint, nil, auth_token,
|
115
|
+
def self.execute_head_authenticated(env, endpoint, auth_token, uri_params, additional_headers = {})
|
116
|
+
execute_rest_call(env, endpoint, nil, auth_token, additional_headers, uri_params) do |env, url, data, headers|
|
108
117
|
if env.scheme == 'https'
|
109
118
|
next RestClient::Resource.new(url.to_s, :verify_ssl => OpenSSL::SSL::VERIFY_NONE)
|
110
119
|
.head(headers)
|
@@ -121,22 +130,23 @@ module Bubbles
|
|
121
130
|
# @param [Endpoint] endpoint The +Endpoint+ which should be requested
|
122
131
|
# @param [String] api_key The API key to use to validate the client.
|
123
132
|
# @param [Hash] uri_params A +Hash+ of identifiers to values to replace in the URI string.
|
124
|
-
# @param [Hash]
|
133
|
+
# @param [Hash] additional_headers A +Hash+ of key-value pairs that will be sent as additional headers in the API
|
134
|
+
# call. Defaults to an empty +Hash+.
|
125
135
|
#
|
126
136
|
# @return [RestClient::Response] The +Response+ resulting from the execution of the HEAD call.
|
127
137
|
#
|
128
|
-
def self.execute_head_unauthenticated_with_uri_params(env, endpoint, api_key, uri_params,
|
129
|
-
|
138
|
+
def self.execute_head_unauthenticated_with_uri_params(env, endpoint, api_key, uri_params, additional_headers = {})
|
139
|
+
composite_headers = {
|
130
140
|
'X-Api-Key' => api_key
|
131
141
|
}
|
132
142
|
|
133
|
-
unless
|
134
|
-
|
135
|
-
|
143
|
+
unless additional_headers.empty?
|
144
|
+
additional_headers.each { |nextHeader|
|
145
|
+
composite_headers[nextHeader[0]] = nextHeader[1]
|
136
146
|
}
|
137
147
|
end
|
138
148
|
|
139
|
-
execute_rest_call(env, endpoint, nil, nil,
|
149
|
+
execute_rest_call(env, endpoint, nil, nil, composite_headers, uri_params) do |env, url, data, headers|
|
140
150
|
if env.scheme == 'https'
|
141
151
|
next RestClient::Resource.new(url.to_s, :verify_ssl => OpenSSL::SSL::VERIFY_NONE)
|
142
152
|
.head(headers)
|
@@ -153,28 +163,28 @@ module Bubbles
|
|
153
163
|
# @param [Endpoint] endpoint The +Endpoint+ which should be requested
|
154
164
|
# @param [String] api_key The API key to use to process the request. Will be placed in an 'X-API-KEY' header.
|
155
165
|
# @param [Hash] data A +Hash+ of key-value pairs that will be sent in the body of the http request.
|
156
|
-
# @param [Hash]
|
157
|
-
#
|
166
|
+
# @param [Hash] additional_headers A +Hash+ of key-value pairs that will be sent as additional headers in the API
|
167
|
+
# call. Defaults to an empty +Hash+.
|
158
168
|
#
|
159
169
|
# @return [RestClient::Response] The +Response+ resulting from the execution of the POST call.
|
160
170
|
#
|
161
|
-
def self.execute_post_with_api_key(env, endpoint, api_key, data,
|
162
|
-
|
171
|
+
def self.execute_post_with_api_key(env, endpoint, api_key, data, additional_headers = {})
|
172
|
+
composite_headers = {
|
163
173
|
'X-Api-Key' => api_key
|
164
174
|
}
|
165
175
|
|
166
|
-
unless
|
167
|
-
|
168
|
-
|
176
|
+
unless additional_headers.nil?
|
177
|
+
additional_headers.each { |nextHeader|
|
178
|
+
composite_headers[nextHeader[0]] = nextHeader[1]
|
169
179
|
}
|
170
180
|
end
|
171
181
|
|
172
|
-
execute_rest_call(env, endpoint, data, nil,
|
182
|
+
execute_rest_call(env, endpoint, data, nil, composite_headers) do |env, url, data, headers|
|
173
183
|
if env.scheme == 'https'
|
174
184
|
next RestClient::Resource.new(url.to_s, :verify_ssl => OpenSSL::SSL::VERIFY_NONE)
|
175
|
-
.post(data.to_json,
|
185
|
+
.post(data.to_json, headers)
|
176
186
|
else
|
177
|
-
next RestClient.post url.to_s, data.to_json,
|
187
|
+
next RestClient.post url.to_s, data.to_json, headers
|
178
188
|
end
|
179
189
|
end
|
180
190
|
end
|
@@ -187,11 +197,13 @@ module Bubbles
|
|
187
197
|
# @param [String] auth_token The authorization token retrieved during some former authentication call. Will be
|
188
198
|
# placed into a Authorization header.
|
189
199
|
# @param [Hash] data A +Hash+ of key-value pairs that will be sent in the body of the http request.
|
200
|
+
# @param [Hash] additional_headers A +Hash+ of key-value pairs that will be sent as additional headers in the API
|
201
|
+
# call. Defaults to an empty +Hash+.
|
190
202
|
#
|
191
203
|
# @return [RestClient::Response] The +Response+ resulting from the execution of the POST call.
|
192
204
|
#
|
193
|
-
def self.execute_post_authenticated(env, endpoint, auth_token, data)
|
194
|
-
return execute_rest_call(env, endpoint, data, auth_token,
|
205
|
+
def self.execute_post_authenticated(env, endpoint, auth_token, data, additional_headers = {})
|
206
|
+
return execute_rest_call(env, endpoint, data, auth_token, additional_headers) do |env, url, data, headers|
|
195
207
|
if env.scheme == 'https'
|
196
208
|
next RestClient::Resource.new(url.to_s, :verify_ssl => OpenSSL::SSL::VERIFY_NONE)
|
197
209
|
.post(data.to_json, headers)
|
@@ -211,11 +223,13 @@ module Bubbles
|
|
211
223
|
# placed into a Authorization header.
|
212
224
|
# @param [Hash] uri_params A +Hash+ of identifiers to values to replace in the URI string.
|
213
225
|
# @param [Hash] data A +Hash+ of key-value pairs that will be sent in the body of the http request.
|
226
|
+
# @param [Hash] additional_headers A +Hash+ of key-value pairs that will be sent as additional headers in the API
|
227
|
+
# call. Defaults to an empty +Hash+.
|
214
228
|
#
|
215
229
|
# @return [RestClient::Response] The +Response+ resulting from the execution of the PATCH call.
|
216
230
|
#
|
217
|
-
def self.execute_patch_authenticated(env, endpoint, auth_token, uri_params, data)
|
218
|
-
return execute_rest_call(env, endpoint, data, auth_token,
|
231
|
+
def self.execute_patch_authenticated(env, endpoint, auth_token, uri_params, data, additional_headers = {})
|
232
|
+
return execute_rest_call(env, endpoint, data, auth_token, additional_headers, uri_params) do |env, url, data, headers|
|
219
233
|
if env.scheme == 'https'
|
220
234
|
next RestClient::Resource.new(url.to_s, :verify_ssl => OpenSSL::SSL::VERIFY_NONE)
|
221
235
|
.patch(data.to_json, headers)
|
@@ -233,11 +247,13 @@ module Bubbles
|
|
233
247
|
# @param [Endpoint] endpoint The +Endpoint+ which should be requested
|
234
248
|
# @param [Hash] uri_params A +Hash+ of identifiers to values to replace in the URI string.
|
235
249
|
# @param [Hash] data A +Hash+ of key-value pairs that will be sent in the body of the http request.
|
250
|
+
# @param [Hash] additional_headers A +Hash+ of key-value pairs that will be sent as additional headers in the API
|
251
|
+
# call. Defaults to an empty +Hash+.
|
236
252
|
#
|
237
253
|
# @return [RestClient::Response] The +Response+ resulting from the execution of the PATCH call.
|
238
254
|
#
|
239
|
-
def self.execute_patch_unauthenticated(env, endpoint, uri_params, data)
|
240
|
-
return execute_rest_call(env, endpoint, data, nil,
|
255
|
+
def self.execute_patch_unauthenticated(env, endpoint, uri_params, data, additional_headers = {})
|
256
|
+
return execute_rest_call(env, endpoint, data, nil, additional_headers, uri_params) do |env, url, data, headers|
|
241
257
|
if env.scheme == 'https'
|
242
258
|
next RestClient::Resource.new(url.to_s, :verify_ssl => OpenSSL::SSL::VERIFY_NONE)
|
243
259
|
.patch(data.to_json, headers)
|
@@ -256,11 +272,13 @@ module Bubbles
|
|
256
272
|
# placed into a Authorization header.
|
257
273
|
# @param [Hash] uri_params A +Hash+ of identifiers to values to replace in the URI string.
|
258
274
|
# @param [Hash] data A +Hash+ of key-value pairs that will be sent in the body of the http request.
|
275
|
+
# @param [Hash] additional_headers A +Hash+ of key-value pairs that will be sent as additional headers in the API
|
276
|
+
# call. Defaults to an empty +Hash+.
|
259
277
|
#
|
260
278
|
# @return [RestClient::Response] The +Response+ resulting from the execution of the PUT call.
|
261
279
|
#
|
262
|
-
def self.execute_put_authenticated(env, endpoint, auth_token, uri_params, data)
|
263
|
-
return execute_rest_call(env, endpoint, data, auth_token,
|
280
|
+
def self.execute_put_authenticated(env, endpoint, auth_token, uri_params, data, additional_headers = {})
|
281
|
+
return execute_rest_call(env, endpoint, data, auth_token, additional_headers, uri_params) do |env, url, data, headers|
|
264
282
|
if env.scheme == 'https'
|
265
283
|
next RestClient::Resource.new(url.to_s, :verify_ssl => OpenSSL::SSL::VERIFY_NONE)
|
266
284
|
.put(data.to_json, headers)
|
@@ -278,11 +296,13 @@ module Bubbles
|
|
278
296
|
# @param [Endpoint] endpoint The +Endpoint+ which should be requested
|
279
297
|
# @param [Hash] uri_params A +Hash+ of identifiers to values to replace in the URI string.
|
280
298
|
# @param [Hash] data A +Hash+ of key-value pairs that will be sent in the body of the http request.
|
299
|
+
# @param [Hash] additional_headers A +Hash+ of key-value pairs that will be sent as additional headers in the API
|
300
|
+
# call. Defaults to an empty +Hash+.
|
281
301
|
#
|
282
302
|
# @return [RestClient::Response] The +Response+ resulting from the execution of the PUT call.
|
283
303
|
#
|
284
|
-
def self.execute_put_unauthenticated(env, endpoint, uri_params, data)
|
285
|
-
return execute_rest_call(env, endpoint, data, nil,
|
304
|
+
def self.execute_put_unauthenticated(env, endpoint, uri_params, data, additional_headers = {})
|
305
|
+
return execute_rest_call(env, endpoint, data, nil, additional_headers, uri_params) do |env, url, data, headers|
|
286
306
|
if env.scheme == 'https'
|
287
307
|
next RestClient::Resource.new(url.to_s, :verify_ssl => OpenSSL::SSL::VERIFY_NONE)
|
288
308
|
.put(data.to_json, headers)
|
@@ -300,11 +320,13 @@ module Bubbles
|
|
300
320
|
# @param [String] auth_token The authorization token retrieved during some former authentication call. Will be
|
301
321
|
# placed into a Authorization header.
|
302
322
|
# @param [Hash] uri_params A +Hash+ of identifiers to values to replace in the URI string.
|
323
|
+
# @param [Hash] additional_headers A +Hash+ of key-value pairs that will be sent as additional headers in the API
|
324
|
+
# call. Defaults to an empty +Hash+.
|
303
325
|
#
|
304
326
|
# @return [RestClient::Response] The +Response+ resulting from the execution of the DELETE call.
|
305
327
|
#
|
306
|
-
def self.execute_delete_authenticated(env, endpoint, auth_token, uri_params)
|
307
|
-
execute_rest_call(env, endpoint, nil, auth_token,
|
328
|
+
def self.execute_delete_authenticated(env, endpoint, auth_token, uri_params, additional_headers = {})
|
329
|
+
execute_rest_call(env, endpoint, nil, auth_token, additional_headers, uri_params) do |env, url, data, headers|
|
308
330
|
if env.scheme == 'https'
|
309
331
|
next RestClient::Resource.new(url.to_s, :verify_ssl => OpenSSL::SSL::VERIFY_NONE)
|
310
332
|
.delete(headers)
|
data/lib/bubbles/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bubbles-rest-client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Scott Johnson
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-10-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|