faraday 1.3.0 → 1.9.3
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/CHANGELOG.md +30 -0
- data/README.md +1 -2
- data/examples/client_spec.rb +34 -2
- data/examples/client_test.rb +41 -2
- data/lib/faraday/adapter/test.rb +59 -43
- data/lib/faraday/adapter.rb +1 -11
- data/lib/faraday/autoload.rb +1 -8
- data/lib/faraday/connection.rb +34 -6
- data/lib/faraday/error.rb +0 -6
- data/lib/faraday/options/proxy_options.rb +4 -0
- data/lib/faraday/request/authorization.rb +14 -7
- data/lib/faraday/request.rb +0 -2
- data/lib/faraday/version.rb +1 -1
- data/lib/faraday.rb +18 -3
- data/spec/faraday/adapter/em_http_spec.rb +39 -37
- data/spec/faraday/adapter/em_synchrony_spec.rb +11 -9
- data/spec/faraday/adapter/test_spec.rb +117 -0
- data/spec/faraday/connection_spec.rb +45 -0
- data/spec/faraday/options/proxy_options_spec.rb +7 -0
- data/spec/faraday/request/authorization_spec.rb +8 -0
- metadata +121 -31
- data/lib/faraday/adapter/em_http.rb +0 -289
- data/lib/faraday/adapter/em_http_ssl_patch.rb +0 -62
- data/lib/faraday/adapter/em_synchrony/parallel_manager.rb +0 -69
- data/lib/faraday/adapter/em_synchrony.rb +0 -153
- data/lib/faraday/adapter/excon.rb +0 -124
- data/lib/faraday/adapter/httpclient.rb +0 -152
- data/lib/faraday/adapter/net_http_persistent.rb +0 -91
- data/lib/faraday/adapter/patron.rb +0 -132
- data/lib/faraday/adapter/rack.rb +0 -75
- data/lib/faraday/file_part.rb +0 -128
- data/lib/faraday/param_part.rb +0 -53
- data/lib/faraday/request/multipart.rb +0 -106
- data/lib/faraday/request/retry.rb +0 -239
- data/spec/faraday/adapter/net_http_persistent_spec.rb +0 -57
- data/spec/faraday/request/multipart_spec.rb +0 -302
- data/spec/faraday/request/retry_spec.rb +0 -242
@@ -1,47 +1,49 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
|
3
|
+
unless defined?(JRUBY_VERSION)
|
4
|
+
RSpec.describe Faraday::Adapter::EMHttp do
|
5
|
+
features :request_body_on_query_methods, :reason_phrase_parse, :trace_method,
|
6
|
+
:skip_response_body_on_head, :parallel, :local_socket_binding
|
6
7
|
|
7
|
-
|
8
|
+
it_behaves_like 'an adapter'
|
8
9
|
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
10
|
+
it 'allows to provide adapter specific configs' do
|
11
|
+
url = URI('https://example.com:1234')
|
12
|
+
adapter = described_class.new nil, inactivity_timeout: 20
|
13
|
+
req = adapter.create_request(url: url, request: {})
|
13
14
|
|
14
|
-
|
15
|
-
end
|
16
|
-
|
17
|
-
context 'Options' do
|
18
|
-
let(:request) { Faraday::RequestOptions.new }
|
19
|
-
let(:env) { { request: request } }
|
20
|
-
let(:options) { {} }
|
21
|
-
let(:adapter) { Faraday::Adapter::EMHttp.new }
|
22
|
-
|
23
|
-
it 'configures timeout' do
|
24
|
-
request.timeout = 5
|
25
|
-
adapter.configure_timeout(options, env)
|
26
|
-
expect(options[:inactivity_timeout]).to eq(5)
|
27
|
-
expect(options[:connect_timeout]).to eq(5)
|
28
|
-
end
|
29
|
-
|
30
|
-
it 'configures timeout and open_timeout' do
|
31
|
-
request.timeout = 5
|
32
|
-
request.open_timeout = 1
|
33
|
-
adapter.configure_timeout(options, env)
|
34
|
-
expect(options[:inactivity_timeout]).to eq(5)
|
35
|
-
expect(options[:connect_timeout]).to eq(1)
|
15
|
+
expect(req.connopts.inactivity_timeout).to eq(20)
|
36
16
|
end
|
37
17
|
|
38
|
-
|
39
|
-
request.
|
40
|
-
request
|
41
|
-
|
42
|
-
adapter.
|
43
|
-
|
44
|
-
|
18
|
+
context 'Options' do
|
19
|
+
let(:request) { Faraday::RequestOptions.new }
|
20
|
+
let(:env) { { request: request } }
|
21
|
+
let(:options) { {} }
|
22
|
+
let(:adapter) { Faraday::Adapter::EMHttp.new }
|
23
|
+
|
24
|
+
it 'configures timeout' do
|
25
|
+
request.timeout = 5
|
26
|
+
adapter.configure_timeout(options, env)
|
27
|
+
expect(options[:inactivity_timeout]).to eq(5)
|
28
|
+
expect(options[:connect_timeout]).to eq(5)
|
29
|
+
end
|
30
|
+
|
31
|
+
it 'configures timeout and open_timeout' do
|
32
|
+
request.timeout = 5
|
33
|
+
request.open_timeout = 1
|
34
|
+
adapter.configure_timeout(options, env)
|
35
|
+
expect(options[:inactivity_timeout]).to eq(5)
|
36
|
+
expect(options[:connect_timeout]).to eq(1)
|
37
|
+
end
|
38
|
+
|
39
|
+
it 'configures all timeout settings' do
|
40
|
+
request.timeout = 5
|
41
|
+
request.read_timeout = 3
|
42
|
+
request.open_timeout = 1
|
43
|
+
adapter.configure_timeout(options, env)
|
44
|
+
expect(options[:inactivity_timeout]).to eq(3)
|
45
|
+
expect(options[:connect_timeout]).to eq(1)
|
46
|
+
end
|
45
47
|
end
|
46
48
|
end
|
47
49
|
end
|
@@ -1,16 +1,18 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
|
3
|
+
unless defined?(JRUBY_VERSION)
|
4
|
+
RSpec.describe Faraday::Adapter::EMSynchrony do
|
5
|
+
features :request_body_on_query_methods, :reason_phrase_parse,
|
6
|
+
:skip_response_body_on_head, :parallel, :local_socket_binding
|
6
7
|
|
7
|
-
|
8
|
+
it_behaves_like 'an adapter'
|
8
9
|
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
10
|
+
it 'allows to provide adapter specific configs' do
|
11
|
+
url = URI('https://example.com:1234')
|
12
|
+
adapter = described_class.new nil, inactivity_timeout: 20
|
13
|
+
req = adapter.create_request(url: url, request: {})
|
13
14
|
|
14
|
-
|
15
|
+
expect(req.connopts.inactivity_timeout).to eq(20)
|
16
|
+
end
|
15
17
|
end
|
16
18
|
end
|
@@ -257,4 +257,121 @@ RSpec.describe Faraday::Adapter::Test do
|
|
257
257
|
it { expect { request }.to raise_error described_class::Stubs::NotFound }
|
258
258
|
end
|
259
259
|
end
|
260
|
+
|
261
|
+
describe 'for request with non default params encoder' do
|
262
|
+
let(:connection) do
|
263
|
+
Faraday.new(request: { params_encoder: Faraday::FlatParamsEncoder }) do |builder|
|
264
|
+
builder.adapter :test, stubs
|
265
|
+
end
|
266
|
+
end
|
267
|
+
let(:stubs) do
|
268
|
+
described_class::Stubs.new do |stubs|
|
269
|
+
stubs.get('/path?a=x&a=y&a=z') { [200, {}, 'a'] }
|
270
|
+
end
|
271
|
+
end
|
272
|
+
|
273
|
+
context 'when all flat param values are correctly set' do
|
274
|
+
subject(:request) { connection.get('/path?a=x&a=y&a=z') }
|
275
|
+
|
276
|
+
it { expect(request.status).to eq 200 }
|
277
|
+
end
|
278
|
+
|
279
|
+
shared_examples 'raise NotFound when params do not satisfy the flat param values' do |params|
|
280
|
+
subject(:request) { connection.get('/path', params) }
|
281
|
+
|
282
|
+
context "with #{params.inspect}" do
|
283
|
+
it { expect { request }.to raise_error described_class::Stubs::NotFound }
|
284
|
+
end
|
285
|
+
end
|
286
|
+
|
287
|
+
it_behaves_like 'raise NotFound when params do not satisfy the flat param values', { a: %w[x] }
|
288
|
+
it_behaves_like 'raise NotFound when params do not satisfy the flat param values', { a: %w[x y] }
|
289
|
+
it_behaves_like 'raise NotFound when params do not satisfy the flat param values', { a: %w[x z y] } # NOTE: The order of the value is also compared.
|
290
|
+
it_behaves_like 'raise NotFound when params do not satisfy the flat param values', { b: %w[x y z] }
|
291
|
+
end
|
292
|
+
|
293
|
+
describe 'strict_mode' do
|
294
|
+
let(:stubs) do
|
295
|
+
described_class::Stubs.new(strict_mode: true) do |stubs|
|
296
|
+
stubs.get('/strict?a=12&b=xy', 'Authorization' => 'Bearer m_ck', 'X-C' => 'hello') { [200, {}, 'a'] }
|
297
|
+
stubs.get('/with_user_agent?a=12&b=xy', authorization: 'Bearer m_ck', 'User-Agent' => 'My Agent') { [200, {}, 'a'] }
|
298
|
+
end
|
299
|
+
end
|
300
|
+
|
301
|
+
context 'when params and headers are exactly set' do
|
302
|
+
subject(:request) { connection.get('/strict', { a: '12', b: 'xy' }, { authorization: 'Bearer m_ck', x_c: 'hello' }) }
|
303
|
+
|
304
|
+
it { expect(request.status).to eq 200 }
|
305
|
+
end
|
306
|
+
|
307
|
+
context 'when params and headers are exactly set with a custom user agent' do
|
308
|
+
subject(:request) { connection.get('/with_user_agent', { a: '12', b: 'xy' }, { authorization: 'Bearer m_ck', 'User-Agent' => 'My Agent' }) }
|
309
|
+
|
310
|
+
it { expect(request.status).to eq 200 }
|
311
|
+
end
|
312
|
+
|
313
|
+
shared_examples 'raise NotFound when params do not satisfy the strict check' do |params|
|
314
|
+
subject(:request) { connection.get('/strict', params, { 'Authorization' => 'Bearer m_ck', 'X-C' => 'hello' }) }
|
315
|
+
|
316
|
+
context "with #{params.inspect}" do
|
317
|
+
it { expect { request }.to raise_error described_class::Stubs::NotFound }
|
318
|
+
end
|
319
|
+
end
|
320
|
+
|
321
|
+
it_behaves_like 'raise NotFound when params do not satisfy the strict check', { a: '12' }
|
322
|
+
it_behaves_like 'raise NotFound when params do not satisfy the strict check', { b: 'xy' }
|
323
|
+
it_behaves_like 'raise NotFound when params do not satisfy the strict check', { a: '123', b: 'xy' }
|
324
|
+
it_behaves_like 'raise NotFound when params do not satisfy the strict check', { a: '12', b: 'xyz' }
|
325
|
+
it_behaves_like 'raise NotFound when params do not satisfy the strict check', { a: '12', b: 'xy', c: 'hello' }
|
326
|
+
it_behaves_like 'raise NotFound when params do not satisfy the strict check', { additional: 'special', a: '12', b: 'xy', c: 'hello' }
|
327
|
+
|
328
|
+
shared_examples 'raise NotFound when headers do not satisfy the strict check' do |path, headers|
|
329
|
+
subject(:request) { connection.get(path, { a: 12, b: 'xy' }, headers) }
|
330
|
+
|
331
|
+
context "with #{headers.inspect}" do
|
332
|
+
it { expect { request }.to raise_error described_class::Stubs::NotFound }
|
333
|
+
end
|
334
|
+
end
|
335
|
+
|
336
|
+
it_behaves_like 'raise NotFound when headers do not satisfy the strict check', '/strict', { authorization: 'Bearer m_ck' }
|
337
|
+
it_behaves_like 'raise NotFound when headers do not satisfy the strict check', '/strict', { 'X-C' => 'hello' }
|
338
|
+
it_behaves_like 'raise NotFound when headers do not satisfy the strict check', '/strict', { authorization: 'Bearer m_ck', 'x-c': 'Hi' }
|
339
|
+
it_behaves_like 'raise NotFound when headers do not satisfy the strict check', '/strict', { authorization: 'Basic m_ck', 'x-c': 'hello' }
|
340
|
+
it_behaves_like 'raise NotFound when headers do not satisfy the strict check', '/strict', { authorization: 'Bearer m_ck', 'x-c': 'hello', x_special: 'special' }
|
341
|
+
it_behaves_like 'raise NotFound when headers do not satisfy the strict check', '/with_user_agent', { authorization: 'Bearer m_ck' }
|
342
|
+
it_behaves_like 'raise NotFound when headers do not satisfy the strict check', '/with_user_agent', { authorization: 'Bearer m_ck', user_agent: 'Unknown' }
|
343
|
+
it_behaves_like 'raise NotFound when headers do not satisfy the strict check', '/with_user_agent', { authorization: 'Bearer m_ck', user_agent: 'My Agent', x_special: 'special' }
|
344
|
+
|
345
|
+
context 'when strict_mode is disabled' do
|
346
|
+
before do
|
347
|
+
stubs.strict_mode = false
|
348
|
+
end
|
349
|
+
|
350
|
+
shared_examples 'does not raise NotFound even when params do not satisfy the strict check' do |params|
|
351
|
+
subject(:request) { connection.get('/strict', params, { 'Authorization' => 'Bearer m_ck', 'X-C' => 'hello' }) }
|
352
|
+
|
353
|
+
context "with #{params.inspect}" do
|
354
|
+
it { expect(request.status).to eq 200 }
|
355
|
+
end
|
356
|
+
end
|
357
|
+
|
358
|
+
it_behaves_like 'does not raise NotFound even when params do not satisfy the strict check', { a: '12', b: 'xy' }
|
359
|
+
it_behaves_like 'does not raise NotFound even when params do not satisfy the strict check', { a: '12', b: 'xy', c: 'hello' }
|
360
|
+
it_behaves_like 'does not raise NotFound even when params do not satisfy the strict check', { additional: 'special', a: '12', b: 'xy', c: 'hello' }
|
361
|
+
|
362
|
+
shared_examples 'does not raise NotFound even when headers do not satisfy the strict check' do |path, headers|
|
363
|
+
subject(:request) { connection.get(path, { a: 12, b: 'xy' }, headers) }
|
364
|
+
|
365
|
+
context "with #{headers.inspect}" do
|
366
|
+
it { expect(request.status).to eq 200 }
|
367
|
+
end
|
368
|
+
end
|
369
|
+
|
370
|
+
it_behaves_like 'does not raise NotFound even when headers do not satisfy the strict check', '/strict', { authorization: 'Bearer m_ck', 'x-c': 'hello' }
|
371
|
+
it_behaves_like 'does not raise NotFound even when headers do not satisfy the strict check', '/strict', { authorization: 'Bearer m_ck', 'x-c': 'hello', x_special: 'special' }
|
372
|
+
it_behaves_like 'does not raise NotFound even when headers do not satisfy the strict check', '/strict', { authorization: 'Bearer m_ck', 'x-c': 'hello', user_agent: 'Special Agent' }
|
373
|
+
it_behaves_like 'does not raise NotFound even when headers do not satisfy the strict check', '/with_user_agent', { authorization: 'Bearer m_ck', user_agent: 'My Agent' }
|
374
|
+
it_behaves_like 'does not raise NotFound even when headers do not satisfy the strict check', '/with_user_agent', { authorization: 'Bearer m_ck', user_agent: 'My Agent', x_special: 'special' }
|
375
|
+
end
|
376
|
+
end
|
260
377
|
end
|
@@ -18,6 +18,13 @@ shared_examples 'initializer with url' do
|
|
18
18
|
it { expect(subject.path_prefix).to eq('/fish') }
|
19
19
|
it { expect(subject.params).to eq('a' => '1') }
|
20
20
|
end
|
21
|
+
|
22
|
+
context 'with IPv6 address' do
|
23
|
+
let(:address) { 'http://[::1]:85/' }
|
24
|
+
|
25
|
+
it { expect(subject.host).to eq('[::1]') }
|
26
|
+
it { expect(subject.port).to eq(85) }
|
27
|
+
end
|
21
28
|
end
|
22
29
|
|
23
30
|
shared_examples 'default connection options' do
|
@@ -246,6 +253,13 @@ RSpec.describe Faraday::Connection do
|
|
246
253
|
expect(uri.path).to eq('/sake.html')
|
247
254
|
end
|
248
255
|
|
256
|
+
it 'always returns new URI instance' do
|
257
|
+
conn.url_prefix = 'http://sushi.com'
|
258
|
+
uri1 = conn.build_exclusive_url(nil)
|
259
|
+
uri2 = conn.build_exclusive_url(nil)
|
260
|
+
expect(uri1).not_to equal(uri2)
|
261
|
+
end
|
262
|
+
|
249
263
|
context 'with url_prefixed connection' do
|
250
264
|
let(:url) { 'http://sushi.com/sushi/' }
|
251
265
|
|
@@ -270,6 +284,29 @@ RSpec.describe Faraday::Connection do
|
|
270
284
|
expect(uri.to_s).to eq('http://sushi.com/sake/')
|
271
285
|
end
|
272
286
|
end
|
287
|
+
|
288
|
+
context 'with colon in path' do
|
289
|
+
let(:url) { 'http://service.com' }
|
290
|
+
|
291
|
+
it 'joins url to base when used absolute path' do
|
292
|
+
conn = Faraday.new(url: url)
|
293
|
+
uri = conn.build_exclusive_url('/service:search?limit=400')
|
294
|
+
expect(uri.to_s).to eq('http://service.com/service:search?limit=400')
|
295
|
+
end
|
296
|
+
|
297
|
+
it 'joins url to base when used relative path' do
|
298
|
+
conn = Faraday.new(url: url)
|
299
|
+
uri = conn.build_exclusive_url('service:search?limit=400')
|
300
|
+
expect(uri.to_s).to eq('http://service.com/service%3Asearch?limit=400')
|
301
|
+
end
|
302
|
+
|
303
|
+
it 'joins url to base when used with path prefix' do
|
304
|
+
conn = Faraday.new(url: url)
|
305
|
+
conn.path_prefix = '/api'
|
306
|
+
uri = conn.build_exclusive_url('service:search?limit=400')
|
307
|
+
expect(uri.to_s).to eq('http://service.com/api/service%3Asearch?limit=400')
|
308
|
+
end
|
309
|
+
end
|
273
310
|
end
|
274
311
|
|
275
312
|
describe '#build_url' do
|
@@ -412,6 +449,14 @@ RSpec.describe Faraday::Connection do
|
|
412
449
|
end
|
413
450
|
end
|
414
451
|
|
452
|
+
it 'allows when url in no proxy list with url_prefix' do
|
453
|
+
with_env 'http_proxy' => 'http://proxy.com', 'no_proxy' => 'example.com' do
|
454
|
+
conn = Faraday::Connection.new
|
455
|
+
conn.url_prefix = 'http://example.com'
|
456
|
+
expect(conn.proxy).to be_nil
|
457
|
+
end
|
458
|
+
end
|
459
|
+
|
415
460
|
it 'allows when prefixed url is not in no proxy list' do
|
416
461
|
with_env 'http_proxy' => 'http://proxy.com', 'no_proxy' => 'example.com' do
|
417
462
|
conn = Faraday::Connection.new('http://prefixedexample.com')
|
@@ -14,6 +14,13 @@ RSpec.describe Faraday::ProxyOptions do
|
|
14
14
|
expect(options.inspect).to match('#<Faraday::ProxyOptions uri=')
|
15
15
|
end
|
16
16
|
|
17
|
+
it 'defaults to http' do
|
18
|
+
options = Faraday::ProxyOptions.from 'example.org'
|
19
|
+
expect(options.port).to eq(80)
|
20
|
+
expect(options.host).to eq('example.org')
|
21
|
+
expect(options.scheme).to eq('http')
|
22
|
+
end
|
23
|
+
|
17
24
|
it 'works with nil' do
|
18
25
|
options = Faraday::ProxyOptions.from nil
|
19
26
|
expect(options).to be_a_kind_of(Faraday::ProxyOptions)
|
@@ -84,5 +84,13 @@ RSpec.describe Faraday::Request::Authorization do
|
|
84
84
|
|
85
85
|
include_examples 'does not interfere with existing authentication'
|
86
86
|
end
|
87
|
+
|
88
|
+
context 'when passed a string and a proc' do
|
89
|
+
let(:auth_config) { ['Bearer', -> { 'custom_from_proc' }] }
|
90
|
+
|
91
|
+
it { expect(response.body).to eq('Bearer custom_from_proc') }
|
92
|
+
|
93
|
+
include_examples 'does not interfere with existing authentication'
|
94
|
+
end
|
87
95
|
end
|
88
96
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: faraday
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.3
|
4
|
+
version: 1.9.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- "@technoweenie"
|
@@ -10,8 +10,78 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date:
|
13
|
+
date: 2022-01-06 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
16
|
+
name: faraday-em_http
|
17
|
+
requirement: !ruby/object:Gem::Requirement
|
18
|
+
requirements:
|
19
|
+
- - "~>"
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '1.0'
|
22
|
+
type: :runtime
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
requirements:
|
26
|
+
- - "~>"
|
27
|
+
- !ruby/object:Gem::Version
|
28
|
+
version: '1.0'
|
29
|
+
- !ruby/object:Gem::Dependency
|
30
|
+
name: faraday-em_synchrony
|
31
|
+
requirement: !ruby/object:Gem::Requirement
|
32
|
+
requirements:
|
33
|
+
- - "~>"
|
34
|
+
- !ruby/object:Gem::Version
|
35
|
+
version: '1.0'
|
36
|
+
type: :runtime
|
37
|
+
prerelease: false
|
38
|
+
version_requirements: !ruby/object:Gem::Requirement
|
39
|
+
requirements:
|
40
|
+
- - "~>"
|
41
|
+
- !ruby/object:Gem::Version
|
42
|
+
version: '1.0'
|
43
|
+
- !ruby/object:Gem::Dependency
|
44
|
+
name: faraday-excon
|
45
|
+
requirement: !ruby/object:Gem::Requirement
|
46
|
+
requirements:
|
47
|
+
- - "~>"
|
48
|
+
- !ruby/object:Gem::Version
|
49
|
+
version: '1.1'
|
50
|
+
type: :runtime
|
51
|
+
prerelease: false
|
52
|
+
version_requirements: !ruby/object:Gem::Requirement
|
53
|
+
requirements:
|
54
|
+
- - "~>"
|
55
|
+
- !ruby/object:Gem::Version
|
56
|
+
version: '1.1'
|
57
|
+
- !ruby/object:Gem::Dependency
|
58
|
+
name: faraday-httpclient
|
59
|
+
requirement: !ruby/object:Gem::Requirement
|
60
|
+
requirements:
|
61
|
+
- - "~>"
|
62
|
+
- !ruby/object:Gem::Version
|
63
|
+
version: '1.0'
|
64
|
+
type: :runtime
|
65
|
+
prerelease: false
|
66
|
+
version_requirements: !ruby/object:Gem::Requirement
|
67
|
+
requirements:
|
68
|
+
- - "~>"
|
69
|
+
- !ruby/object:Gem::Version
|
70
|
+
version: '1.0'
|
71
|
+
- !ruby/object:Gem::Dependency
|
72
|
+
name: faraday-multipart
|
73
|
+
requirement: !ruby/object:Gem::Requirement
|
74
|
+
requirements:
|
75
|
+
- - "~>"
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '1.0'
|
78
|
+
type: :runtime
|
79
|
+
prerelease: false
|
80
|
+
version_requirements: !ruby/object:Gem::Requirement
|
81
|
+
requirements:
|
82
|
+
- - "~>"
|
83
|
+
- !ruby/object:Gem::Version
|
84
|
+
version: '1.0'
|
15
85
|
- !ruby/object:Gem::Dependency
|
16
86
|
name: faraday-net_http
|
17
87
|
requirement: !ruby/object:Gem::Requirement
|
@@ -27,39 +97,75 @@ dependencies:
|
|
27
97
|
- !ruby/object:Gem::Version
|
28
98
|
version: '1.0'
|
29
99
|
- !ruby/object:Gem::Dependency
|
30
|
-
name:
|
100
|
+
name: faraday-net_http_persistent
|
31
101
|
requirement: !ruby/object:Gem::Requirement
|
32
102
|
requirements:
|
33
|
-
- - "
|
103
|
+
- - "~>"
|
34
104
|
- !ruby/object:Gem::Version
|
35
|
-
version: '1.
|
36
|
-
|
105
|
+
version: '1.0'
|
106
|
+
type: :runtime
|
107
|
+
prerelease: false
|
108
|
+
version_requirements: !ruby/object:Gem::Requirement
|
109
|
+
requirements:
|
110
|
+
- - "~>"
|
37
111
|
- !ruby/object:Gem::Version
|
38
|
-
version: '
|
112
|
+
version: '1.0'
|
113
|
+
- !ruby/object:Gem::Dependency
|
114
|
+
name: faraday-patron
|
115
|
+
requirement: !ruby/object:Gem::Requirement
|
116
|
+
requirements:
|
117
|
+
- - "~>"
|
118
|
+
- !ruby/object:Gem::Version
|
119
|
+
version: '1.0'
|
39
120
|
type: :runtime
|
40
121
|
prerelease: false
|
41
122
|
version_requirements: !ruby/object:Gem::Requirement
|
42
123
|
requirements:
|
43
|
-
- - "
|
124
|
+
- - "~>"
|
44
125
|
- !ruby/object:Gem::Version
|
45
|
-
version: '1.
|
46
|
-
|
126
|
+
version: '1.0'
|
127
|
+
- !ruby/object:Gem::Dependency
|
128
|
+
name: faraday-rack
|
129
|
+
requirement: !ruby/object:Gem::Requirement
|
130
|
+
requirements:
|
131
|
+
- - "~>"
|
132
|
+
- !ruby/object:Gem::Version
|
133
|
+
version: '1.0'
|
134
|
+
type: :runtime
|
135
|
+
prerelease: false
|
136
|
+
version_requirements: !ruby/object:Gem::Requirement
|
137
|
+
requirements:
|
138
|
+
- - "~>"
|
139
|
+
- !ruby/object:Gem::Version
|
140
|
+
version: '1.0'
|
141
|
+
- !ruby/object:Gem::Dependency
|
142
|
+
name: faraday-retry
|
143
|
+
requirement: !ruby/object:Gem::Requirement
|
144
|
+
requirements:
|
145
|
+
- - "~>"
|
47
146
|
- !ruby/object:Gem::Version
|
48
|
-
version: '
|
147
|
+
version: '1.0'
|
148
|
+
type: :runtime
|
149
|
+
prerelease: false
|
150
|
+
version_requirements: !ruby/object:Gem::Requirement
|
151
|
+
requirements:
|
152
|
+
- - "~>"
|
153
|
+
- !ruby/object:Gem::Version
|
154
|
+
version: '1.0'
|
49
155
|
- !ruby/object:Gem::Dependency
|
50
156
|
name: ruby2_keywords
|
51
157
|
requirement: !ruby/object:Gem::Requirement
|
52
158
|
requirements:
|
53
159
|
- - ">="
|
54
160
|
- !ruby/object:Gem::Version
|
55
|
-
version:
|
161
|
+
version: 0.0.4
|
56
162
|
type: :runtime
|
57
163
|
prerelease: false
|
58
164
|
version_requirements: !ruby/object:Gem::Requirement
|
59
165
|
requirements:
|
60
166
|
- - ">="
|
61
167
|
- !ruby/object:Gem::Version
|
62
|
-
version:
|
168
|
+
version: 0.0.4
|
63
169
|
description:
|
64
170
|
email: technoweenie@gmail.com
|
65
171
|
executables: []
|
@@ -74,15 +180,6 @@ files:
|
|
74
180
|
- examples/client_test.rb
|
75
181
|
- lib/faraday.rb
|
76
182
|
- lib/faraday/adapter.rb
|
77
|
-
- lib/faraday/adapter/em_http.rb
|
78
|
-
- lib/faraday/adapter/em_http_ssl_patch.rb
|
79
|
-
- lib/faraday/adapter/em_synchrony.rb
|
80
|
-
- lib/faraday/adapter/em_synchrony/parallel_manager.rb
|
81
|
-
- lib/faraday/adapter/excon.rb
|
82
|
-
- lib/faraday/adapter/httpclient.rb
|
83
|
-
- lib/faraday/adapter/net_http_persistent.rb
|
84
|
-
- lib/faraday/adapter/patron.rb
|
85
|
-
- lib/faraday/adapter/rack.rb
|
86
183
|
- lib/faraday/adapter/test.rb
|
87
184
|
- lib/faraday/adapter/typhoeus.rb
|
88
185
|
- lib/faraday/adapter_registry.rb
|
@@ -92,7 +189,6 @@ files:
|
|
92
189
|
- lib/faraday/encoders/flat_params_encoder.rb
|
93
190
|
- lib/faraday/encoders/nested_params_encoder.rb
|
94
191
|
- lib/faraday/error.rb
|
95
|
-
- lib/faraday/file_part.rb
|
96
192
|
- lib/faraday/logging/formatter.rb
|
97
193
|
- lib/faraday/methods.rb
|
98
194
|
- lib/faraday/middleware.rb
|
@@ -103,15 +199,12 @@ files:
|
|
103
199
|
- lib/faraday/options/proxy_options.rb
|
104
200
|
- lib/faraday/options/request_options.rb
|
105
201
|
- lib/faraday/options/ssl_options.rb
|
106
|
-
- lib/faraday/param_part.rb
|
107
202
|
- lib/faraday/parameters.rb
|
108
203
|
- lib/faraday/rack_builder.rb
|
109
204
|
- lib/faraday/request.rb
|
110
205
|
- lib/faraday/request/authorization.rb
|
111
206
|
- lib/faraday/request/basic_authentication.rb
|
112
207
|
- lib/faraday/request/instrumentation.rb
|
113
|
-
- lib/faraday/request/multipart.rb
|
114
|
-
- lib/faraday/request/retry.rb
|
115
208
|
- lib/faraday/request/token_authentication.rb
|
116
209
|
- lib/faraday/request/url_encoded.rb
|
117
210
|
- lib/faraday/response.rb
|
@@ -126,7 +219,6 @@ files:
|
|
126
219
|
- spec/faraday/adapter/em_synchrony_spec.rb
|
127
220
|
- spec/faraday/adapter/excon_spec.rb
|
128
221
|
- spec/faraday/adapter/httpclient_spec.rb
|
129
|
-
- spec/faraday/adapter/net_http_persistent_spec.rb
|
130
222
|
- spec/faraday/adapter/net_http_spec.rb
|
131
223
|
- spec/faraday/adapter/patron_spec.rb
|
132
224
|
- spec/faraday/adapter/rack_spec.rb
|
@@ -147,8 +239,6 @@ files:
|
|
147
239
|
- spec/faraday/rack_builder_spec.rb
|
148
240
|
- spec/faraday/request/authorization_spec.rb
|
149
241
|
- spec/faraday/request/instrumentation_spec.rb
|
150
|
-
- spec/faraday/request/multipart_spec.rb
|
151
|
-
- spec/faraday/request/retry_spec.rb
|
152
242
|
- spec/faraday/request/url_encoded_spec.rb
|
153
243
|
- spec/faraday/request_spec.rb
|
154
244
|
- spec/faraday/response/logger_spec.rb
|
@@ -172,7 +262,7 @@ licenses:
|
|
172
262
|
- MIT
|
173
263
|
metadata:
|
174
264
|
homepage_uri: https://lostisland.github.io/faraday
|
175
|
-
changelog_uri: https://github.com/lostisland/faraday/releases/tag/v1.3
|
265
|
+
changelog_uri: https://github.com/lostisland/faraday/releases/tag/v1.9.3
|
176
266
|
source_code_uri: https://github.com/lostisland/faraday
|
177
267
|
bug_tracker_uri: https://github.com/lostisland/faraday/issues
|
178
268
|
post_install_message:
|
@@ -191,7 +281,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
191
281
|
- !ruby/object:Gem::Version
|
192
282
|
version: '0'
|
193
283
|
requirements: []
|
194
|
-
rubygems_version: 3.0.3
|
284
|
+
rubygems_version: 3.0.3.1
|
195
285
|
signing_key:
|
196
286
|
specification_version: 4
|
197
287
|
summary: HTTP/REST API client library.
|