rest-client-wrapper 3.0.3 → 3.1.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 +4 -4
- data/lib/rest_client_wrapper/paginators/echo.rb +2 -2
- data/lib/rest_client_wrapper/paginators/echo_paginator.rb +2 -2
- data/lib/rest_client_wrapper/paginators/header_link.rb +2 -2
- data/lib/rest_client_wrapper/paginators/header_link_paginator.rb +2 -2
- data/lib/rest_client_wrapper/request.rb +1 -1
- data/lib/rest_client_wrapper/rest_client.rb +12 -9
- data/lib/rest_client_wrapper/version.rb +1 -1
- data/rest-client-wrapper.gemspec +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a8dbb01db061166b6679d6664e71e9f7cc6b84c9644bca7f56cc231560bff32e
|
4
|
+
data.tar.gz: 0713c07b9fa1dd7f302a961f54b94362099a83af4787446f0b5a26826f7d2469
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: '044878f94f5de478f4cb99314c77c01b95bfbb66ab50b42915b10c0a78a239a0acd3e3b7ab30f394fb1b7d4d253ca15c643f0923cce29cb4b0539d1885b8fb43'
|
7
|
+
data.tar.gz: b5aa02f91a1edc87fd2c4658dc4374231f865f0ca78dedb9fbe87353a7ee1909abbffeeb0b1612ae1e8e6c753c164c7a00ba6b01f10c8a0a7485d4a5bc612b92
|
@@ -36,13 +36,13 @@ module RestClientWrapper
|
|
36
36
|
@config = { limit: limit }
|
37
37
|
end
|
38
38
|
|
39
|
-
def paginate(http_method:, uri:, query_params: {}, headers: {}, data: false)
|
39
|
+
def paginate(http_method:, uri:, segment_params: {}, query_params: {}, headers: {}, data: false)
|
40
40
|
raise RestClientError.new("Client not set, unable to make API call", nil, nil) unless @rest_client
|
41
41
|
|
42
42
|
query_params.reverse_merge!(@config)
|
43
43
|
responses = []
|
44
44
|
loop do
|
45
|
-
response = @rest_client.make_request({ http_method: http_method, uri: uri, query_params: query_params, headers: headers })
|
45
|
+
response = @rest_client.make_request({ http_method: http_method, uri: uri, segment_params: segment_params, query_params: query_params, headers: headers })
|
46
46
|
block_given? ? yield(response) : (responses << response)
|
47
47
|
links = _pagination_links(response)
|
48
48
|
break unless links.key?(:offset)
|
@@ -36,13 +36,13 @@ module RestClientWrapper
|
|
36
36
|
@config = { limit: limit }
|
37
37
|
end
|
38
38
|
|
39
|
-
def paginate(http_method:, uri:, query_params: {}, headers: {}, data: false)
|
39
|
+
def paginate(http_method:, uri:, segment_params: {}, query_params: {}, headers: {}, data: false)
|
40
40
|
raise RestClientError.new("Client not set, unable to make API call", nil, nil) unless @rest_client
|
41
41
|
|
42
42
|
query_params.reverse_merge!(@config)
|
43
43
|
responses = []
|
44
44
|
loop do
|
45
|
-
response = @rest_client.make_request({ http_method: http_method, uri: uri, query_params: query_params, headers: headers })
|
45
|
+
response = @rest_client.make_request({ http_method: http_method, uri: uri, segment_params: segment_params, query_params: query_params, headers: headers })
|
46
46
|
block_given? ? yield(response) : (responses << response)
|
47
47
|
links = _pagination_links(response)
|
48
48
|
break unless links.key?(:offset)
|
@@ -36,14 +36,14 @@ module RestClientWrapper
|
|
36
36
|
@config = { page: nil, per_page: per_page }
|
37
37
|
end
|
38
38
|
|
39
|
-
def paginate(http_method:, uri:, query_params: {}, headers: {}, data: false)
|
39
|
+
def paginate(http_method:, uri:, segment_params: {}, query_params: {}, headers: {}, data: false)
|
40
40
|
raise RestClientError.new("Client not set, unable to make API call", nil, nil) unless @rest_client
|
41
41
|
|
42
42
|
query_params.reverse_merge!(@config)
|
43
43
|
responses = []
|
44
44
|
loop.with_index(1) do |_, page|
|
45
45
|
query_params[:page] = page
|
46
|
-
response = @rest_client.make_request({ http_method: http_method, uri: uri, query_params: query_params, headers: headers })
|
46
|
+
response = @rest_client.make_request({ http_method: http_method, uri: uri, segment_params: segment_params, query_params: query_params, headers: headers })
|
47
47
|
block_given? ? yield(response) : (responses << response)
|
48
48
|
links = _pagination_links(response)
|
49
49
|
break unless links.key?(:next)
|
@@ -36,14 +36,14 @@ module RestClientWrapper
|
|
36
36
|
@config = { page: nil, per_page: per_page }
|
37
37
|
end
|
38
38
|
|
39
|
-
def paginate(http_method:, uri:, query_params: {}, headers: {}, data: false)
|
39
|
+
def paginate(http_method:, uri:, segment_params: {}, query_params: {}, headers: {}, data: false)
|
40
40
|
raise RestClientError.new("Client not set, unable to make API call", nil, nil) unless @rest_client
|
41
41
|
|
42
42
|
query_params.reverse_merge!(@config)
|
43
43
|
responses = []
|
44
44
|
loop.with_index(1) do |_, page|
|
45
45
|
query_params[:page] = page
|
46
|
-
response = @rest_client.make_request({ http_method: http_method, uri: uri, query_params: query_params, headers: headers })
|
46
|
+
response = @rest_client.make_request({ http_method: http_method, uri: uri, segment_params: segment_params, query_params: query_params, headers: headers })
|
47
47
|
block_given? ? yield(response) : (responses << response)
|
48
48
|
links = _pagination_links(response)
|
49
49
|
break unless links.key?(:next)
|
@@ -28,7 +28,7 @@ module RestClientWrapper
|
|
28
28
|
VALID_HTTP_METHODS = %i[get post put patch delete connect options trace].freeze
|
29
29
|
HTTP_METHOD_FOR_JSON = %i[post put patch].freeze
|
30
30
|
|
31
|
-
def initialize(http_method:, uri:, segment_params: {}, payload: {}, query_params: {}, headers: {})
|
31
|
+
def initialize(http_method:, uri:, segment_params: {}, payload: {}, query_params: {}, headers: {})
|
32
32
|
@uri = uri
|
33
33
|
self.headers = headers
|
34
34
|
self.http_method = http_method
|
@@ -84,22 +84,21 @@ module RestClientWrapper
|
|
84
84
|
end
|
85
85
|
end
|
86
86
|
|
87
|
-
def
|
88
|
-
|
89
|
-
|
90
|
-
raise ArgumentError, "URL host does not match config host of instance, unable to make API call" if parsed_uri.absolute? && @host.casecmp("#{ parsed_uri.scheme }://#{ parsed_uri.host }").nonzero?
|
87
|
+
def execute_paginated_request(request:, data: true)
|
88
|
+
return self.make_request_for_pages({ http_method: request.http_method, uri: request.uri, segment_params: request.segment_params, query_params: request.query_params, headers: request.headers, data: data }) # rubocop:disable Metrics/LineLength
|
89
|
+
end
|
91
90
|
|
92
|
-
|
93
|
-
request = Request.new({ http_method: http_method, uri: uri, payload: payload, query_params: query_params })
|
91
|
+
def make_request(http_method:, uri:, payload: {}, segment_params: {}, query_params: {}, headers: {})
|
92
|
+
request = Request.new({ http_method: http_method, uri: uri, payload: payload, segment_params: segment_params, query_params: query_params })
|
94
93
|
request.headers = headers
|
95
94
|
return self.execute({ request: request })
|
96
95
|
end
|
97
96
|
|
98
|
-
def make_request_for_pages(http_method:, uri:, query_params: {}, headers: {}, data: false)
|
97
|
+
def make_request_for_pages(http_method:, uri:, segment_params: {}, query_params: {}, headers: {}, data: false)
|
99
98
|
raise RestClientError.new("Paginator not set, unable to make API call", nil, nil) unless @paginator
|
100
99
|
|
101
100
|
@paginator.rest_client ||= self
|
102
|
-
return @paginator.paginate({ http_method: http_method, uri: uri, query_params: query_params, headers: headers, data: data })
|
101
|
+
return @paginator.paginate({ http_method: http_method, uri: uri, segment_params: segment_params, query_params: query_params, headers: headers, data: data })
|
103
102
|
end
|
104
103
|
|
105
104
|
private
|
@@ -121,7 +120,11 @@ module RestClientWrapper
|
|
121
120
|
end
|
122
121
|
|
123
122
|
def _build_uri(request)
|
124
|
-
|
123
|
+
uri = format(request.uri, request.segment_params)
|
124
|
+
parsed_uri = URI.parse(uri)
|
125
|
+
raise ArgumentError, "URL host does not match config host of instance, unable to make API call" if parsed_uri.absolute? && @host.casecmp("#{ parsed_uri.scheme }://#{ parsed_uri.host }").nonzero?
|
126
|
+
|
127
|
+
return parsed_uri.absolute? ? uri : "#{ @host }#{ uri }"
|
125
128
|
end
|
126
129
|
|
127
130
|
def _validate_request(request)
|
data/rest-client-wrapper.gemspec
CHANGED
@@ -30,7 +30,7 @@ Gem::Specification.new do |s|
|
|
30
30
|
s.summary = "Rest client wrapper"
|
31
31
|
s.description = "Generic REST client wrapper"
|
32
32
|
s.license = "GPL 3.0"
|
33
|
-
s.required_ruby_version = ">= 2.
|
33
|
+
s.required_ruby_version = ">= 2.6.0"
|
34
34
|
|
35
35
|
s.add_runtime_dependency "json", "~> 1.8", ">= 1.8.3"
|
36
36
|
s.add_runtime_dependency "oauth2", "~> 1.2"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rest-client-wrapper
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.0
|
4
|
+
version: 3.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- University of Adelaide
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-12-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: json
|
@@ -194,14 +194,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
194
194
|
requirements:
|
195
195
|
- - ">="
|
196
196
|
- !ruby/object:Gem::Version
|
197
|
-
version: 2.
|
197
|
+
version: 2.6.0
|
198
198
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
199
199
|
requirements:
|
200
200
|
- - ">="
|
201
201
|
- !ruby/object:Gem::Version
|
202
202
|
version: '0'
|
203
203
|
requirements: []
|
204
|
-
rubygems_version: 3.0.
|
204
|
+
rubygems_version: 3.0.3
|
205
205
|
signing_key:
|
206
206
|
specification_version: 4
|
207
207
|
summary: Rest client wrapper
|