restful_resource 2.2.8 → 2.3.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
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: eecf67a6ba417dae5f868966a577a527eaf35560ddf9ec17af5aa7070e9935bb
|
4
|
+
data.tar.gz: 4ddd23ce149cd8f4f9db30af2cdef923654771608108ed44ff8891199bb1643c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6893e6298085c0e14e28f5d08ca7ab9144eafea210d18eabeb865df3dfa9b670af1a9f0052db5a0c2ad84ed6f6b9061cb0e101b7724514385e9b14509ab138e4
|
7
|
+
data.tar.gz: 0f2c0c895a4ae9a77d17b6816a15cbd0cd17f0bdbb6e46417aebfd471f1c2e33e0f3c8c997016e7bb2213d25058c6b9525106bd870145a5e8efee0da15325d9a
|
data/Rakefile
CHANGED
@@ -9,12 +9,12 @@ desc "Upload to rubygems"
|
|
9
9
|
task :upload => :build do
|
10
10
|
# Check if tag with v#{ResearchSiteApiClient::VERSION} version exists, if so, return with error
|
11
11
|
|
12
|
-
if tag_exists?(current_tag_name)
|
13
|
-
|
14
|
-
|
15
|
-
end
|
12
|
+
# if tag_exists?(current_tag_name)
|
13
|
+
# puts "Tag exists, did you run rake increase_revision_number after merging with master?"
|
14
|
+
# exit 1
|
15
|
+
# end
|
16
16
|
|
17
|
-
create_tag(current_tag_name)
|
17
|
+
# create_tag(current_tag_name)
|
18
18
|
Rake::Task[:release].invoke
|
19
19
|
end
|
20
20
|
|
@@ -5,6 +5,7 @@ module RestfulResource
|
|
5
5
|
def self.configure(base_url: nil,
|
6
6
|
username: nil,
|
7
7
|
password: nil,
|
8
|
+
auth_token: nil,
|
8
9
|
logger: nil,
|
9
10
|
cache_store: nil,
|
10
11
|
instrumentation: {},
|
@@ -14,6 +15,7 @@ module RestfulResource
|
|
14
15
|
|
15
16
|
@http = RestfulResource::HttpClient.new(username: username,
|
16
17
|
password: password,
|
18
|
+
auth_token: auth_token,
|
17
19
|
logger: logger,
|
18
20
|
cache_store: cache_store,
|
19
21
|
instrumentation: instrumentation,
|
@@ -70,6 +70,7 @@ module RestfulResource
|
|
70
70
|
|
71
71
|
def initialize(username: nil,
|
72
72
|
password: nil,
|
73
|
+
auth_token: nil,
|
73
74
|
logger: nil,
|
74
75
|
cache_store: nil,
|
75
76
|
connection: nil,
|
@@ -101,7 +102,12 @@ module RestfulResource
|
|
101
102
|
server_cache_instrument_name: instrumentation.fetch(:server_cache_instrument_name, nil),
|
102
103
|
faraday_config: faraday_config)
|
103
104
|
|
104
|
-
|
105
|
+
if auth_token
|
106
|
+
@connection.headers[:authorization] = "Bearer #{auth_token}"
|
107
|
+
elsif username && password
|
108
|
+
@connection.basic_auth(username, password)
|
109
|
+
end
|
110
|
+
|
105
111
|
@connection.headers[:user_agent] = build_user_agent(instrumentation[:app_name])
|
106
112
|
@default_open_timeout = open_timeout
|
107
113
|
@default_timeout = timeout
|
@@ -313,6 +313,7 @@ RSpec.describe RestfulResource::Base do
|
|
313
313
|
describe ".configure" do
|
314
314
|
let(:username) { double }
|
315
315
|
let(:password) { double }
|
316
|
+
let(:auth_token) { double }
|
316
317
|
let(:logger) { double }
|
317
318
|
let(:cache_store) { double }
|
318
319
|
let(:instrumentation) { double }
|
@@ -321,6 +322,7 @@ RSpec.describe RestfulResource::Base do
|
|
321
322
|
it "passes arguments to HttpClient" do
|
322
323
|
expect(RestfulResource::HttpClient).to receive(:new).with(username: username,
|
323
324
|
password: password,
|
325
|
+
auth_token: auth_token,
|
324
326
|
logger: logger,
|
325
327
|
cache_store: cache_store,
|
326
328
|
instrumentation: instrumentation,
|
@@ -329,6 +331,7 @@ RSpec.describe RestfulResource::Base do
|
|
329
331
|
RestfulResource::Base.configure(base_url: 'http://foo.bar',
|
330
332
|
username: username,
|
331
333
|
password: password,
|
334
|
+
auth_token: auth_token,
|
332
335
|
logger: logger,
|
333
336
|
cache_store: cache_store,
|
334
337
|
instrumentation: instrumentation,
|
@@ -169,18 +169,36 @@ RSpec.describe RestfulResource::HttpClient do
|
|
169
169
|
end
|
170
170
|
|
171
171
|
describe 'Authentication' do
|
172
|
-
|
173
|
-
|
172
|
+
describe 'Basic auth' do
|
173
|
+
def http_client(connection)
|
174
|
+
described_class.new(connection: connection, username: 'user', password: 'passwd')
|
175
|
+
end
|
176
|
+
|
177
|
+
it 'should execute authenticated get' do
|
178
|
+
connection = faraday_connection do |stubs|
|
179
|
+
stubs.get('http://httpbin.org/basic-auth/user/passwd') { |env| [200, {}, nil] }
|
180
|
+
end
|
181
|
+
|
182
|
+
response = http_client(connection).get('http://httpbin.org/basic-auth/user/passwd', headers: {"Authorization"=>"Basic dXNlcjpwYXNzd2Q="})
|
183
|
+
|
184
|
+
expect(response.status).to eq 200
|
185
|
+
end
|
174
186
|
end
|
175
187
|
|
176
|
-
|
177
|
-
connection
|
178
|
-
|
188
|
+
describe 'Token auth' do
|
189
|
+
def http_client(connection)
|
190
|
+
described_class.new(connection: connection, auth_token: 'abc123')
|
179
191
|
end
|
180
192
|
|
181
|
-
|
193
|
+
it 'should execute authenticated get' do
|
194
|
+
connection = faraday_connection do |stubs|
|
195
|
+
stubs.get('http://httpbin.org/bearer', { 'Authorization' => 'Bearer abc123'} ) { |env| [200, {}, nil] }
|
196
|
+
end
|
182
197
|
|
183
|
-
|
198
|
+
response = http_client(connection).get('http://httpbin.org/bearer', headers: { 'Authorization' => 'Bearer abc123'})
|
199
|
+
|
200
|
+
expect(response.status).to eq 200
|
201
|
+
end
|
184
202
|
end
|
185
203
|
end
|
186
204
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: restful_resource
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David Santoro
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2018-
|
12
|
+
date: 2018-09-07 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|
@@ -258,7 +258,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
258
258
|
version: '0'
|
259
259
|
requirements: []
|
260
260
|
rubyforge_project:
|
261
|
-
rubygems_version: 2.
|
261
|
+
rubygems_version: 2.7.7
|
262
262
|
signing_key:
|
263
263
|
specification_version: 4
|
264
264
|
summary: A simple activerecord inspired rest resource base class implemented using
|