faraday 1.1.0 → 1.5.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/CHANGELOG.md +104 -0
- data/README.md +1 -2
- data/lib/faraday.rb +57 -41
- data/lib/faraday/adapter.rb +1 -11
- data/lib/faraday/autoload.rb +1 -8
- data/lib/faraday/connection.rb +10 -3
- data/lib/faraday/dependency_loader.rb +1 -3
- data/lib/faraday/error.rb +12 -0
- data/lib/faraday/methods.rb +6 -0
- data/lib/faraday/middleware.rb +14 -4
- data/lib/faraday/options/proxy_options.rb +4 -0
- data/lib/faraday/request/retry.rb +2 -2
- data/lib/faraday/response.rb +0 -6
- data/lib/faraday/version.rb +5 -0
- data/spec/faraday/connection_spec.rb +45 -0
- data/spec/faraday/error_spec.rb +15 -0
- data/spec/faraday/middleware_spec.rb +32 -6
- data/spec/faraday/options/proxy_options_spec.rb +7 -0
- data/spec/faraday/request/retry_spec.rb +1 -1
- data/spec/faraday/response/raise_error_spec.rb +30 -0
- data/spec/support/shared_examples/adapter.rb +2 -1
- data/spec/support/shared_examples/request_method.rb +36 -8
- metadata +106 -16
- data/lib/faraday/adapter/em_http.rb +0 -286
- data/lib/faraday/adapter/em_http_ssl_patch.rb +0 -62
- data/lib/faraday/adapter/em_synchrony.rb +0 -150
- data/lib/faraday/adapter/em_synchrony/parallel_manager.rb +0 -69
- data/lib/faraday/adapter/excon.rb +0 -124
- data/lib/faraday/adapter/httpclient.rb +0 -152
- data/lib/faraday/adapter/net_http.rb +0 -219
- data/lib/faraday/adapter/net_http_persistent.rb +0 -91
- data/lib/faraday/adapter/patron.rb +0 -132
- data/spec/faraday/adapter/net_http_persistent_spec.rb +0 -57
@@ -21,7 +21,7 @@ module Faraday
|
|
21
21
|
# end
|
22
22
|
#
|
23
23
|
# This example will result in a first interval that is random between 0.05
|
24
|
-
# and 0.075 and a second interval that is random between 0.1 and 0.
|
24
|
+
# and 0.075 and a second interval that is random between 0.1 and 0.125.
|
25
25
|
class Retry < Faraday::Middleware
|
26
26
|
DEFAULT_EXCEPTIONS = [
|
27
27
|
Errno::ETIMEDOUT, 'Timeout::Error',
|
@@ -112,7 +112,7 @@ module Faraday
|
|
112
112
|
# not independent of the retry count. This would be useful
|
113
113
|
# if the exception produced is non-recoverable or if the
|
114
114
|
# the HTTP method called is not idempotent.
|
115
|
-
# @option options [Block] :retry_block block that is executed
|
115
|
+
# @option options [Block] :retry_block block that is executed before
|
116
116
|
# every retry. Request environment, middleware options, current number
|
117
117
|
# of retries and the exception is passed to the block as parameters.
|
118
118
|
# @option options [Array] :retry_statuses Array of Integer HTTP status
|
data/lib/faraday/response.rb
CHANGED
@@ -7,12 +7,6 @@ module Faraday
|
|
7
7
|
class Response
|
8
8
|
# Used for simple response middleware.
|
9
9
|
class Middleware < Faraday::Middleware
|
10
|
-
def call(env)
|
11
|
-
@app.call(env).on_complete do |environment|
|
12
|
-
on_complete(environment)
|
13
|
-
end
|
14
|
-
end
|
15
|
-
|
16
10
|
# Override this to modify the environment after the response has finished.
|
17
11
|
# Calls the `parse` method if defined
|
18
12
|
# `parse` method can be defined as private, public and protected
|
@@ -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')
|
data/spec/faraday/error_spec.rb
CHANGED
@@ -13,6 +13,7 @@ RSpec.describe Faraday::ClientError do
|
|
13
13
|
it { expect(subject.message).to eq(exception.message) }
|
14
14
|
it { expect(subject.backtrace).to eq(exception.backtrace) }
|
15
15
|
it { expect(subject.inspect).to eq('#<Faraday::ClientError wrapped=#<RuntimeError: test>>') }
|
16
|
+
it { expect(subject.response_status).to be_nil }
|
16
17
|
end
|
17
18
|
|
18
19
|
context 'with response hash' do
|
@@ -22,6 +23,7 @@ RSpec.describe Faraday::ClientError do
|
|
22
23
|
it { expect(subject.response).to eq(exception) }
|
23
24
|
it { expect(subject.message).to eq('the server responded with status 400') }
|
24
25
|
it { expect(subject.inspect).to eq('#<Faraday::ClientError response={:status=>400}>') }
|
26
|
+
it { expect(subject.response_status).to eq(400) }
|
25
27
|
end
|
26
28
|
|
27
29
|
context 'with string' do
|
@@ -31,6 +33,7 @@ RSpec.describe Faraday::ClientError do
|
|
31
33
|
it { expect(subject.response).to be_nil }
|
32
34
|
it { expect(subject.message).to eq('custom message') }
|
33
35
|
it { expect(subject.inspect).to eq('#<Faraday::ClientError #<Faraday::ClientError: custom message>>') }
|
36
|
+
it { expect(subject.response_status).to be_nil }
|
34
37
|
end
|
35
38
|
|
36
39
|
context 'with anything else #to_s' do
|
@@ -40,6 +43,18 @@ RSpec.describe Faraday::ClientError do
|
|
40
43
|
it { expect(subject.response).to be_nil }
|
41
44
|
it { expect(subject.message).to eq('["error1", "error2"]') }
|
42
45
|
it { expect(subject.inspect).to eq('#<Faraday::ClientError #<Faraday::ClientError: ["error1", "error2"]>>') }
|
46
|
+
it { expect(subject.response_status).to be_nil }
|
47
|
+
end
|
48
|
+
|
49
|
+
context 'with exception string and response hash' do
|
50
|
+
let(:exception) { 'custom message' }
|
51
|
+
let(:response) { { status: 400 } }
|
52
|
+
|
53
|
+
it { expect(subject.wrapped_exception).to be_nil }
|
54
|
+
it { expect(subject.response).to eq(response) }
|
55
|
+
it { expect(subject.message).to eq('custom message') }
|
56
|
+
it { expect(subject.inspect).to eq('#<Faraday::ClientError response={:status=>400}>') }
|
57
|
+
it { expect(subject.response_status).to eq(400) }
|
43
58
|
end
|
44
59
|
end
|
45
60
|
end
|
@@ -2,23 +2,49 @@
|
|
2
2
|
|
3
3
|
RSpec.describe Faraday::Middleware do
|
4
4
|
subject { described_class.new(app) }
|
5
|
+
let(:app) { double }
|
6
|
+
|
7
|
+
describe 'options' do
|
8
|
+
context 'when options are passed to the middleware' do
|
9
|
+
subject { described_class.new(app, options) }
|
10
|
+
let(:options) { { field: 'value' } }
|
11
|
+
|
12
|
+
it 'accepts options when initialized' do
|
13
|
+
expect(subject.options[:field]).to eq('value')
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
describe '#on_request' do
|
19
|
+
subject do
|
20
|
+
Class.new(described_class) do
|
21
|
+
def on_request(env)
|
22
|
+
# do nothing
|
23
|
+
end
|
24
|
+
end.new(app)
|
25
|
+
end
|
26
|
+
|
27
|
+
it 'is called by #call' do
|
28
|
+
expect(app).to receive(:call).and_return(app)
|
29
|
+
expect(app).to receive(:on_complete)
|
30
|
+
is_expected.to receive(:call).and_call_original
|
31
|
+
is_expected.to receive(:on_request)
|
32
|
+
subject.call(double)
|
33
|
+
end
|
34
|
+
end
|
5
35
|
|
6
36
|
describe '#close' do
|
7
37
|
context "with app that doesn't support \#close" do
|
8
|
-
let(:app) { double }
|
9
|
-
|
10
38
|
it 'should issue warning' do
|
11
|
-
|
39
|
+
is_expected.to receive(:warn)
|
12
40
|
subject.close
|
13
41
|
end
|
14
42
|
end
|
15
43
|
|
16
44
|
context "with app that supports \#close" do
|
17
|
-
let(:app) { double }
|
18
|
-
|
19
45
|
it 'should issue warning' do
|
20
46
|
expect(app).to receive(:close)
|
21
|
-
|
47
|
+
is_expected.to_not receive(:warn)
|
22
48
|
subject.close
|
23
49
|
end
|
24
50
|
end
|
@@ -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)
|
@@ -117,7 +117,7 @@ RSpec.describe Faraday::Request::Retry do
|
|
117
117
|
let(:options) { { max: 2, interval: 0.1, interval_randomness: 0.05 } }
|
118
118
|
let(:middleware) { Faraday::Request::Retry.new(nil, options) }
|
119
119
|
|
120
|
-
it { expect(middleware.send(:calculate_retry_interval, 2)).to be_between(0.1, 0.
|
120
|
+
it { expect(middleware.send(:calculate_retry_interval, 2)).to be_between(0.1, 0.105) }
|
121
121
|
end
|
122
122
|
end
|
123
123
|
|
@@ -29,6 +29,9 @@ RSpec.describe Faraday::Response::RaiseError do
|
|
29
29
|
expect(ex.message).to eq('the server responded with status 400')
|
30
30
|
expect(ex.response[:headers]['X-Reason']).to eq('because')
|
31
31
|
expect(ex.response[:status]).to eq(400)
|
32
|
+
expect(ex.response_status).to eq(400)
|
33
|
+
expect(ex.response_body).to eq('keep looking')
|
34
|
+
expect(ex.response_headers['X-Reason']).to eq('because')
|
32
35
|
end
|
33
36
|
end
|
34
37
|
|
@@ -37,6 +40,9 @@ RSpec.describe Faraday::Response::RaiseError do
|
|
37
40
|
expect(ex.message).to eq('the server responded with status 401')
|
38
41
|
expect(ex.response[:headers]['X-Reason']).to eq('because')
|
39
42
|
expect(ex.response[:status]).to eq(401)
|
43
|
+
expect(ex.response_status).to eq(401)
|
44
|
+
expect(ex.response_body).to eq('keep looking')
|
45
|
+
expect(ex.response_headers['X-Reason']).to eq('because')
|
40
46
|
end
|
41
47
|
end
|
42
48
|
|
@@ -45,6 +51,9 @@ RSpec.describe Faraday::Response::RaiseError do
|
|
45
51
|
expect(ex.message).to eq('the server responded with status 403')
|
46
52
|
expect(ex.response[:headers]['X-Reason']).to eq('because')
|
47
53
|
expect(ex.response[:status]).to eq(403)
|
54
|
+
expect(ex.response_status).to eq(403)
|
55
|
+
expect(ex.response_body).to eq('keep looking')
|
56
|
+
expect(ex.response_headers['X-Reason']).to eq('because')
|
48
57
|
end
|
49
58
|
end
|
50
59
|
|
@@ -53,6 +62,9 @@ RSpec.describe Faraday::Response::RaiseError do
|
|
53
62
|
expect(ex.message).to eq('the server responded with status 404')
|
54
63
|
expect(ex.response[:headers]['X-Reason']).to eq('because')
|
55
64
|
expect(ex.response[:status]).to eq(404)
|
65
|
+
expect(ex.response_status).to eq(404)
|
66
|
+
expect(ex.response_body).to eq('keep looking')
|
67
|
+
expect(ex.response_headers['X-Reason']).to eq('because')
|
56
68
|
end
|
57
69
|
end
|
58
70
|
|
@@ -61,6 +73,9 @@ RSpec.describe Faraday::Response::RaiseError do
|
|
61
73
|
expect(ex.message).to eq('407 "Proxy Authentication Required"')
|
62
74
|
expect(ex.response[:headers]['X-Reason']).to eq('because')
|
63
75
|
expect(ex.response[:status]).to eq(407)
|
76
|
+
expect(ex.response_status).to eq(407)
|
77
|
+
expect(ex.response_body).to eq('keep looking')
|
78
|
+
expect(ex.response_headers['X-Reason']).to eq('because')
|
64
79
|
end
|
65
80
|
end
|
66
81
|
|
@@ -69,6 +84,9 @@ RSpec.describe Faraday::Response::RaiseError do
|
|
69
84
|
expect(ex.message).to eq('the server responded with status 409')
|
70
85
|
expect(ex.response[:headers]['X-Reason']).to eq('because')
|
71
86
|
expect(ex.response[:status]).to eq(409)
|
87
|
+
expect(ex.response_status).to eq(409)
|
88
|
+
expect(ex.response_body).to eq('keep looking')
|
89
|
+
expect(ex.response_headers['X-Reason']).to eq('because')
|
72
90
|
end
|
73
91
|
end
|
74
92
|
|
@@ -77,6 +95,9 @@ RSpec.describe Faraday::Response::RaiseError do
|
|
77
95
|
expect(ex.message).to eq('the server responded with status 422')
|
78
96
|
expect(ex.response[:headers]['X-Reason']).to eq('because')
|
79
97
|
expect(ex.response[:status]).to eq(422)
|
98
|
+
expect(ex.response_status).to eq(422)
|
99
|
+
expect(ex.response_body).to eq('keep looking')
|
100
|
+
expect(ex.response_headers['X-Reason']).to eq('because')
|
80
101
|
end
|
81
102
|
end
|
82
103
|
|
@@ -85,6 +106,9 @@ RSpec.describe Faraday::Response::RaiseError do
|
|
85
106
|
expect(ex.message).to eq('http status could not be derived from the server response')
|
86
107
|
expect(ex.response[:headers]['X-Reason']).to eq('nil')
|
87
108
|
expect(ex.response[:status]).to be_nil
|
109
|
+
expect(ex.response_status).to be_nil
|
110
|
+
expect(ex.response_body).to eq('fail')
|
111
|
+
expect(ex.response_headers['X-Reason']).to eq('nil')
|
88
112
|
end
|
89
113
|
end
|
90
114
|
|
@@ -93,6 +117,9 @@ RSpec.describe Faraday::Response::RaiseError do
|
|
93
117
|
expect(ex.message).to eq('the server responded with status 499')
|
94
118
|
expect(ex.response[:headers]['X-Reason']).to eq('because')
|
95
119
|
expect(ex.response[:status]).to eq(499)
|
120
|
+
expect(ex.response_status).to eq(499)
|
121
|
+
expect(ex.response_body).to eq('keep looking')
|
122
|
+
expect(ex.response_headers['X-Reason']).to eq('because')
|
96
123
|
end
|
97
124
|
end
|
98
125
|
|
@@ -101,6 +128,9 @@ RSpec.describe Faraday::Response::RaiseError do
|
|
101
128
|
expect(ex.message).to eq('the server responded with status 500')
|
102
129
|
expect(ex.response[:headers]['X-Error']).to eq('bailout')
|
103
130
|
expect(ex.response[:status]).to eq(500)
|
131
|
+
expect(ex.response_status).to eq(500)
|
132
|
+
expect(ex.response_body).to eq('fail')
|
133
|
+
expect(ex.response_headers['X-Error']).to eq('bailout')
|
104
134
|
end
|
105
135
|
end
|
106
136
|
|
@@ -33,6 +33,7 @@ shared_examples 'adapter examples' do |**options|
|
|
33
33
|
|
34
34
|
let(:protocol) { ssl_mode? ? 'https' : 'http' }
|
35
35
|
let(:remote) { "#{protocol}://example.com" }
|
36
|
+
let(:stub_remote) { remote }
|
36
37
|
|
37
38
|
let(:conn) do
|
38
39
|
conn_options[:ssl] ||= {}
|
@@ -46,7 +47,7 @@ shared_examples 'adapter examples' do |**options|
|
|
46
47
|
end
|
47
48
|
end
|
48
49
|
|
49
|
-
let!(:request_stub) { stub_request(http_method,
|
50
|
+
let!(:request_stub) { stub_request(http_method, stub_remote) }
|
50
51
|
|
51
52
|
after do
|
52
53
|
expect(request_stub).to have_been_requested unless request_stub.disabled?
|
@@ -1,5 +1,19 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
shared_examples 'proxy examples' do
|
4
|
+
it 'handles requests with proxy' do
|
5
|
+
res = conn.public_send(http_method, '/')
|
6
|
+
|
7
|
+
expect(res.status).to eq(200)
|
8
|
+
end
|
9
|
+
|
10
|
+
it 'handles proxy failures' do
|
11
|
+
request_stub.to_return(status: 407)
|
12
|
+
|
13
|
+
expect { conn.public_send(http_method, '/') }.to raise_error(Faraday::ProxyAuthError)
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
3
17
|
shared_examples 'a request method' do |http_method|
|
4
18
|
let(:query_or_body) { method_with_body?(http_method) ? :body : :query }
|
5
19
|
let(:response) { conn.public_send(http_method, '/') }
|
@@ -218,17 +232,31 @@ shared_examples 'a request method' do |http_method|
|
|
218
232
|
end
|
219
233
|
end
|
220
234
|
|
221
|
-
|
222
|
-
|
235
|
+
context 'when a proxy is provided as option' do
|
236
|
+
before do
|
237
|
+
conn_options[:proxy] = 'http://env-proxy.com:80'
|
238
|
+
end
|
223
239
|
|
224
|
-
|
225
|
-
expect(res.status).to eq(200)
|
240
|
+
include_examples 'proxy examples'
|
226
241
|
end
|
227
242
|
|
228
|
-
|
229
|
-
|
230
|
-
request_stub.to_return(status: 407)
|
243
|
+
context 'when http_proxy env variable is set' do
|
244
|
+
let(:proxy_url) { 'http://env-proxy.com:80' }
|
231
245
|
|
232
|
-
|
246
|
+
around do |example|
|
247
|
+
with_env 'http_proxy' => proxy_url do
|
248
|
+
example.run
|
249
|
+
end
|
250
|
+
end
|
251
|
+
|
252
|
+
include_examples 'proxy examples'
|
253
|
+
|
254
|
+
context 'when the env proxy is ignored' do
|
255
|
+
around do |example|
|
256
|
+
with_env_proxy_disabled(&example)
|
257
|
+
end
|
258
|
+
|
259
|
+
include_examples 'proxy examples'
|
260
|
+
end
|
233
261
|
end
|
234
262
|
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.
|
4
|
+
version: 1.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- "@technoweenie"
|
@@ -10,8 +10,106 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date:
|
13
|
+
date: 2021-07-04 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.1
|
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.1
|
71
|
+
- !ruby/object:Gem::Dependency
|
72
|
+
name: faraday-net_http
|
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'
|
85
|
+
- !ruby/object:Gem::Dependency
|
86
|
+
name: faraday-net_http_persistent
|
87
|
+
requirement: !ruby/object:Gem::Requirement
|
88
|
+
requirements:
|
89
|
+
- - "~>"
|
90
|
+
- !ruby/object:Gem::Version
|
91
|
+
version: '1.1'
|
92
|
+
type: :runtime
|
93
|
+
prerelease: false
|
94
|
+
version_requirements: !ruby/object:Gem::Requirement
|
95
|
+
requirements:
|
96
|
+
- - "~>"
|
97
|
+
- !ruby/object:Gem::Version
|
98
|
+
version: '1.1'
|
99
|
+
- !ruby/object:Gem::Dependency
|
100
|
+
name: faraday-patron
|
101
|
+
requirement: !ruby/object:Gem::Requirement
|
102
|
+
requirements:
|
103
|
+
- - "~>"
|
104
|
+
- !ruby/object:Gem::Version
|
105
|
+
version: '1.0'
|
106
|
+
type: :runtime
|
107
|
+
prerelease: false
|
108
|
+
version_requirements: !ruby/object:Gem::Requirement
|
109
|
+
requirements:
|
110
|
+
- - "~>"
|
111
|
+
- !ruby/object:Gem::Version
|
112
|
+
version: '1.0'
|
15
113
|
- !ruby/object:Gem::Dependency
|
16
114
|
name: multipart-post
|
17
115
|
requirement: !ruby/object:Gem::Requirement
|
@@ -38,14 +136,14 @@ dependencies:
|
|
38
136
|
requirements:
|
39
137
|
- - ">="
|
40
138
|
- !ruby/object:Gem::Version
|
41
|
-
version:
|
139
|
+
version: 0.0.4
|
42
140
|
type: :runtime
|
43
141
|
prerelease: false
|
44
142
|
version_requirements: !ruby/object:Gem::Requirement
|
45
143
|
requirements:
|
46
144
|
- - ">="
|
47
145
|
- !ruby/object:Gem::Version
|
48
|
-
version:
|
146
|
+
version: 0.0.4
|
49
147
|
description:
|
50
148
|
email: technoweenie@gmail.com
|
51
149
|
executables: []
|
@@ -60,15 +158,6 @@ files:
|
|
60
158
|
- examples/client_test.rb
|
61
159
|
- lib/faraday.rb
|
62
160
|
- lib/faraday/adapter.rb
|
63
|
-
- lib/faraday/adapter/em_http.rb
|
64
|
-
- lib/faraday/adapter/em_http_ssl_patch.rb
|
65
|
-
- lib/faraday/adapter/em_synchrony.rb
|
66
|
-
- lib/faraday/adapter/em_synchrony/parallel_manager.rb
|
67
|
-
- lib/faraday/adapter/excon.rb
|
68
|
-
- lib/faraday/adapter/httpclient.rb
|
69
|
-
- lib/faraday/adapter/net_http.rb
|
70
|
-
- lib/faraday/adapter/net_http_persistent.rb
|
71
|
-
- lib/faraday/adapter/patron.rb
|
72
161
|
- lib/faraday/adapter/rack.rb
|
73
162
|
- lib/faraday/adapter/test.rb
|
74
163
|
- lib/faraday/adapter/typhoeus.rb
|
@@ -81,6 +170,7 @@ files:
|
|
81
170
|
- lib/faraday/error.rb
|
82
171
|
- lib/faraday/file_part.rb
|
83
172
|
- lib/faraday/logging/formatter.rb
|
173
|
+
- lib/faraday/methods.rb
|
84
174
|
- lib/faraday/middleware.rb
|
85
175
|
- lib/faraday/middleware_registry.rb
|
86
176
|
- lib/faraday/options.rb
|
@@ -106,12 +196,12 @@ files:
|
|
106
196
|
- lib/faraday/utils.rb
|
107
197
|
- lib/faraday/utils/headers.rb
|
108
198
|
- lib/faraday/utils/params_hash.rb
|
199
|
+
- lib/faraday/version.rb
|
109
200
|
- spec/external_adapters/faraday_specs_setup.rb
|
110
201
|
- spec/faraday/adapter/em_http_spec.rb
|
111
202
|
- spec/faraday/adapter/em_synchrony_spec.rb
|
112
203
|
- spec/faraday/adapter/excon_spec.rb
|
113
204
|
- spec/faraday/adapter/httpclient_spec.rb
|
114
|
-
- spec/faraday/adapter/net_http_persistent_spec.rb
|
115
205
|
- spec/faraday/adapter/net_http_spec.rb
|
116
206
|
- spec/faraday/adapter/patron_spec.rb
|
117
207
|
- spec/faraday/adapter/rack_spec.rb
|
@@ -157,7 +247,7 @@ licenses:
|
|
157
247
|
- MIT
|
158
248
|
metadata:
|
159
249
|
homepage_uri: https://lostisland.github.io/faraday
|
160
|
-
changelog_uri: https://github.com/lostisland/faraday/releases/tag/v1.
|
250
|
+
changelog_uri: https://github.com/lostisland/faraday/releases/tag/v1.5.0
|
161
251
|
source_code_uri: https://github.com/lostisland/faraday
|
162
252
|
bug_tracker_uri: https://github.com/lostisland/faraday/issues
|
163
253
|
post_install_message:
|
@@ -176,7 +266,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
176
266
|
- !ruby/object:Gem::Version
|
177
267
|
version: '0'
|
178
268
|
requirements: []
|
179
|
-
rubygems_version: 3.0.3
|
269
|
+
rubygems_version: 3.0.3.1
|
180
270
|
signing_key:
|
181
271
|
specification_version: 4
|
182
272
|
summary: HTTP/REST API client library.
|