faraday-conductivity 0.3.0 → 0.3.1
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/.rspec +2 -0
- data/faraday-conductivity.gemspec +1 -1
- data/lib/faraday/conductivity/request_id_filter.rb +5 -2
- data/lib/faraday/conductivity/version.rb +1 -1
- data/spec/middleware/extended_logging_spec.rb +9 -10
- data/spec/middleware/mimetype_spec.rb +2 -4
- data/spec/middleware/repeater_spec.rb +7 -9
- data/spec/middleware/request_headers_spec.rb +4 -6
- data/spec/middleware/request_id_spec.rb +3 -5
- data/spec/middleware/selective_errors_spec.rb +1 -3
- data/spec/middleware/user_agent_spec.rb +9 -11
- data/spec/spec_helper.rb +1 -4
- metadata +7 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 37144ee9e787b4eba24b366cff58a3d437e5670c
|
4
|
+
data.tar.gz: 577ec27bee6892d8a73382eb1018e726236ce2a4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: dce521f65e52e0fa0cfc168d4bd3fe5fded12ecbc5267a9c8632772c19f9e75713f9a84a7013d2bb2e1979e8c8f79eed7b1293da78b751dc64757a8fbf277e56
|
7
|
+
data.tar.gz: c65886c49d1ccaf753bdeeca1133aa002070c9b9354499fcb82ab9b619cb8a5944a86db4511866cb63f7f260a9325111f33e129797c1505d20981439189b8188
|
data/.rspec
CHANGED
@@ -20,7 +20,7 @@ Gem::Specification.new do |gem|
|
|
20
20
|
|
21
21
|
gem.add_dependency "faraday", "~> 0.8"
|
22
22
|
gem.add_development_dependency "rake"
|
23
|
-
gem.add_development_dependency "rspec"
|
23
|
+
gem.add_development_dependency "rspec", "~> 3"
|
24
24
|
gem.add_development_dependency "pry"
|
25
25
|
gem.add_development_dependency "service_double"
|
26
26
|
gem.add_development_dependency "appraisal"
|
@@ -2,8 +2,11 @@ module Faraday
|
|
2
2
|
module Conductivity
|
3
3
|
class RequestIdFilter
|
4
4
|
|
5
|
-
|
6
|
-
|
5
|
+
class << self
|
6
|
+
def filter(controller)
|
7
|
+
Thread.current[:request_id] = controller.request.uuid
|
8
|
+
end
|
9
|
+
alias_method :before, :filter
|
7
10
|
end
|
8
11
|
|
9
12
|
end
|
@@ -1,40 +1,39 @@
|
|
1
|
-
require 'spec_helper'
|
2
1
|
require 'logger'
|
3
2
|
|
4
|
-
describe Faraday::Conductivity::ExtendedLogging do
|
3
|
+
RSpec.describe Faraday::Conductivity::ExtendedLogging do
|
5
4
|
|
6
5
|
subject(:log) { io.read }
|
7
6
|
|
8
7
|
it "includes the HTTP verb" do
|
9
|
-
log.
|
8
|
+
expect(log).to include "GET"
|
10
9
|
end
|
11
10
|
|
12
11
|
it "includes the request body" do
|
13
|
-
log.
|
12
|
+
expect(log).to include "the request body"
|
14
13
|
end
|
15
14
|
|
16
15
|
it "includes the request headers" do
|
17
|
-
log.
|
16
|
+
expect(log).to match %r"X-Foo\s+: bar"
|
18
17
|
end
|
19
18
|
|
20
19
|
it "includes the complete URL" do
|
21
|
-
log.
|
20
|
+
expect(log).to include "http://widgets.example.org/test"
|
22
21
|
end
|
23
22
|
|
24
23
|
it "includes the response status" do
|
25
|
-
log.
|
24
|
+
expect(log).to include "200"
|
26
25
|
end
|
27
26
|
|
28
27
|
it "includes the response time" do
|
29
|
-
log.
|
28
|
+
expect(log).to match(/\d+\.\d+ms/)
|
30
29
|
end
|
31
30
|
|
32
31
|
it "includes the response headers" do
|
33
|
-
log.
|
32
|
+
expect(log).to include "X-Bar : foo"
|
34
33
|
end
|
35
34
|
|
36
35
|
it "includes the response body" do
|
37
|
-
log.
|
36
|
+
expect(log).to include "the response body"
|
38
37
|
end
|
39
38
|
|
40
39
|
before do
|
@@ -1,11 +1,9 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
describe Faraday::Conductivity::Mimetype do
|
1
|
+
RSpec.describe Faraday::Conductivity::Mimetype do
|
4
2
|
|
5
3
|
subject(:request_headers) { response.env[:request_headers] }
|
6
4
|
|
7
5
|
it "includes the mimetype specified" do
|
8
|
-
request_headers["Accept"].
|
6
|
+
expect(request_headers["Accept"]).to eq mimetype
|
9
7
|
end
|
10
8
|
|
11
9
|
let(:mimetype) { "application/vnd.users-v2+json" }
|
@@ -1,6 +1,4 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
describe Faraday::Conductivity::Repeater do
|
1
|
+
RSpec.describe Faraday::Conductivity::Repeater do
|
4
2
|
|
5
3
|
let(:connection) {
|
6
4
|
Faraday.new(url: $service_double_url) { |faraday|
|
@@ -11,7 +9,7 @@ describe Faraday::Conductivity::Repeater do
|
|
11
9
|
}
|
12
10
|
|
13
11
|
it "retries after timeouts" do
|
14
|
-
get_with_max(4).body.
|
12
|
+
expect(get_with_max(4).body).to eq "fast"
|
15
13
|
end
|
16
14
|
|
17
15
|
it "gives up after a number of retries" do
|
@@ -34,9 +32,9 @@ describe Faraday::Conductivity::Repeater do
|
|
34
32
|
|
35
33
|
it "waits according to a pattern" do
|
36
34
|
pattern = MyPattern.new
|
37
|
-
Faraday::Conductivity::Repeater::Pattern.
|
35
|
+
expect(Faraday::Conductivity::Repeater::Pattern).to receive(:new).and_return(pattern)
|
38
36
|
get_with_max(6)
|
39
|
-
pattern.waited.
|
37
|
+
expect(pattern.waited).to eq pattern.waited.sort
|
40
38
|
end
|
41
39
|
|
42
40
|
it "handles other errors too" do
|
@@ -46,9 +44,9 @@ describe Faraday::Conductivity::Repeater do
|
|
46
44
|
}
|
47
45
|
|
48
46
|
pattern = double :pattern
|
49
|
-
Faraday::Conductivity::Repeater::Pattern.
|
50
|
-
pattern.
|
51
|
-
pattern.
|
47
|
+
expect(Faraday::Conductivity::Repeater::Pattern).to receive(:new).and_return(pattern)
|
48
|
+
expect(pattern).to receive(:wait).with(1).ordered
|
49
|
+
expect(pattern).to receive(:wait).with(2).ordered
|
52
50
|
|
53
51
|
expect { connection.get("/") }.to raise_error(Faraday::Error::ConnectionFailed)
|
54
52
|
end
|
@@ -1,6 +1,4 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
describe Faraday::Conductivity::RequestHeaders do
|
1
|
+
RSpec.describe Faraday::Conductivity::RequestHeaders do
|
4
2
|
|
5
3
|
it "includes the mimetype specified" do
|
6
4
|
connection = create_connection do |faraday|
|
@@ -8,8 +6,8 @@ describe Faraday::Conductivity::RequestHeaders do
|
|
8
6
|
end
|
9
7
|
request_headers = connection.get("/test").env[:request_headers]
|
10
8
|
|
11
|
-
request_headers["Accept"].
|
12
|
-
request_headers["X-Version-Number"].
|
9
|
+
expect(request_headers["Accept"]).to eq "application/json"
|
10
|
+
expect(request_headers["X-Version-Number"]).to eq "123"
|
13
11
|
end
|
14
12
|
|
15
13
|
it "doesn't override locally specified headers" do
|
@@ -22,7 +20,7 @@ describe Faraday::Conductivity::RequestHeaders do
|
|
22
20
|
|
23
21
|
request_headers = response.env[:request_headers]
|
24
22
|
|
25
|
-
request_headers["Accept"].
|
23
|
+
expect(request_headers["Accept"]).to eq "application/xml"
|
26
24
|
end
|
27
25
|
|
28
26
|
end
|
@@ -1,17 +1,15 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
describe Faraday::Conductivity::RequestId do
|
1
|
+
RSpec.describe Faraday::Conductivity::RequestId do
|
4
2
|
|
5
3
|
subject(:request_headers) { response.env[:request_headers] }
|
6
4
|
|
7
5
|
it "includes the thread local variable" do
|
8
6
|
Thread.current[:request_id] = "my-request-id"
|
9
|
-
request_headers["X-Request-Id"].
|
7
|
+
expect(request_headers["X-Request-Id"]).to eq "my-request-id"
|
10
8
|
end
|
11
9
|
|
12
10
|
it "doesn't add the header if there is no request id" do
|
13
11
|
Thread.current[:request_id] = nil
|
14
|
-
request_headers.
|
12
|
+
expect(request_headers).not_to have_key "X-Request-Id"
|
15
13
|
end
|
16
14
|
|
17
15
|
def connection
|
@@ -1,39 +1,37 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
describe Faraday::Conductivity::UserAgent do
|
1
|
+
RSpec.describe Faraday::Conductivity::UserAgent do
|
4
2
|
|
5
3
|
subject(:user_agent) { response.env[:request_headers]["User-Agent"] }
|
6
4
|
|
7
5
|
it "includes the name and version of the app" do
|
8
|
-
user_agent.
|
6
|
+
expect(user_agent).to start_with "MarketingSite/1.1"
|
9
7
|
end
|
10
8
|
|
11
9
|
it "includes the current ruby version" do
|
12
|
-
user_agent.
|
10
|
+
expect(user_agent).to include RUBY_VERSION
|
13
11
|
end
|
14
12
|
|
15
13
|
it "includes the current ruby engine" do
|
16
|
-
user_agent.
|
14
|
+
expect(user_agent).to include RUBY_ENGINE
|
17
15
|
end
|
18
16
|
|
19
17
|
it "includes the current ruby patch level" do
|
20
|
-
user_agent.
|
18
|
+
expect(user_agent).to include RUBY_PATCHLEVEL.to_s
|
21
19
|
end
|
22
20
|
|
23
21
|
it "includes the platform" do
|
24
|
-
user_agent.
|
22
|
+
expect(user_agent).to include RUBY_PLATFORM
|
25
23
|
end
|
26
24
|
|
27
25
|
it "includes the pid" do
|
28
|
-
user_agent.
|
26
|
+
expect(user_agent).to include "1337"
|
29
27
|
end
|
30
28
|
|
31
29
|
it "includes the current host" do
|
32
|
-
user_agent.
|
30
|
+
expect(user_agent).to include "my.hostname"
|
33
31
|
end
|
34
32
|
|
35
33
|
it "includes the current user name" do
|
36
|
-
user_agent.
|
34
|
+
expect(user_agent).to include "linus"
|
37
35
|
end
|
38
36
|
|
39
37
|
let(:environment) {
|
data/spec/spec_helper.rb
CHANGED
@@ -28,10 +28,7 @@ module SpecHelper
|
|
28
28
|
end
|
29
29
|
|
30
30
|
RSpec.configure do |config|
|
31
|
-
config.
|
32
|
-
config.run_all_when_everything_filtered = true
|
33
|
-
config.filter_run :focus
|
34
|
-
config.order = 'random'
|
31
|
+
config.disable_monkey_patching!
|
35
32
|
config.include SpecHelper
|
36
33
|
end
|
37
34
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: faraday-conductivity
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- iain
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-11-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
@@ -42,16 +42,16 @@ dependencies:
|
|
42
42
|
name: rspec
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - "
|
45
|
+
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: '
|
47
|
+
version: '3'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - "
|
52
|
+
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: '
|
54
|
+
version: '3'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: pry
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -165,3 +165,4 @@ test_files:
|
|
165
165
|
- spec/middleware/selective_errors_spec.rb
|
166
166
|
- spec/middleware/user_agent_spec.rb
|
167
167
|
- spec/spec_helper.rb
|
168
|
+
has_rdoc:
|