bubbles-rest-client 0.3.1 → 0.4.1
Sign up to get free protection for your applications and to get access to all the features.
- 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
|