faraday_middleware 0.7.0 → 0.8.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (45) hide show
  1. data/.rspec +0 -1
  2. data/.travis.yml +1 -2
  3. data/CHANGELOG.md +9 -9
  4. data/Gemfile +3 -3
  5. data/README.md +2 -2
  6. data/Rakefile +9 -2
  7. data/faraday_middleware.gemspec +16 -24
  8. data/lib/faraday_middleware.rb +51 -11
  9. data/lib/faraday_middleware/addressable_patch.rb +20 -0
  10. data/lib/faraday_middleware/backwards_compatibility.rb +30 -0
  11. data/lib/faraday_middleware/instrumentation.rb +30 -0
  12. data/lib/faraday_middleware/rack_compatible.rb +76 -0
  13. data/lib/faraday_middleware/request/encode_json.rb +50 -0
  14. data/lib/faraday_middleware/request/oauth.rb +61 -0
  15. data/lib/faraday_middleware/request/oauth2.rb +60 -0
  16. data/lib/faraday_middleware/response/caching.rb +76 -0
  17. data/lib/faraday_middleware/response/follow_redirects.rb +53 -0
  18. data/lib/{faraday → faraday_middleware}/response/mashify.rb +2 -2
  19. data/lib/faraday_middleware/response/parse_json.rb +35 -0
  20. data/lib/faraday_middleware/response/parse_marshal.rb +10 -0
  21. data/lib/faraday_middleware/response/parse_xml.rb +11 -0
  22. data/lib/faraday_middleware/response/parse_yaml.rb +10 -0
  23. data/lib/faraday_middleware/response/rashify.rb +9 -0
  24. data/lib/faraday_middleware/response_middleware.rb +78 -0
  25. data/lib/faraday_middleware/version.rb +1 -1
  26. data/spec/caching_test.rb +122 -0
  27. data/spec/encode_json_spec.rb +95 -0
  28. data/spec/follow_redirects_spec.rb +33 -0
  29. data/spec/helper.rb +27 -12
  30. data/spec/mashify_spec.rb +8 -7
  31. data/spec/oauth2_spec.rb +100 -32
  32. data/spec/oauth_spec.rb +83 -28
  33. data/spec/parse_json_spec.rb +71 -46
  34. data/spec/parse_marshal_spec.rb +9 -26
  35. data/spec/parse_xml_spec.rb +56 -24
  36. data/spec/parse_yaml_spec.rb +40 -20
  37. data/spec/rashify_spec.rb +4 -3
  38. metadata +59 -57
  39. data/lib/faraday/request/oauth.rb +0 -23
  40. data/lib/faraday/request/oauth2.rb +0 -24
  41. data/lib/faraday/response/parse_json.rb +0 -20
  42. data/lib/faraday/response/parse_marshal.rb +0 -10
  43. data/lib/faraday/response/parse_xml.rb +0 -11
  44. data/lib/faraday/response/parse_yaml.rb +0 -11
  45. data/lib/faraday/response/rashify.rb +0 -19
@@ -1,69 +1,94 @@
1
1
  require 'helper'
2
+ require 'faraday_middleware/response/parse_json'
2
3
 
3
- describe Faraday::Response::ParseJson do
4
- context 'when used' do
5
- let(:parse_json) { Faraday::Response::ParseJson.new }
4
+ describe FaradayMiddleware::ParseJson, :type => :response do
5
+ context "no type matching" do
6
+ it "doesn't change nil body" do
7
+ process(nil).body.should be_nil
8
+ end
6
9
 
7
- it 'should handle a blank response' do
8
- empty = parse_json.on_complete(:body => '')
9
- empty.should be_nil
10
+ it "nullifies empty body" do
11
+ process('').body.should be_nil
10
12
  end
11
13
 
12
- it 'should handle a true response' do
13
- response = parse_json.on_complete(:body => 'true')
14
- response.should be_true
14
+ it "parses json body" do
15
+ response = process('{"a":1}')
16
+ response.body.should eql('a' => 1)
17
+ response.env[:raw_body].should be_nil
15
18
  end
19
+ end
16
20
 
17
- it 'should handle a false response' do
18
- response = parse_json.on_complete(:body => 'false')
19
- response.should be_false
21
+ context "with preserving raw" do
22
+ let(:options) { {:preserve_raw => true} }
23
+
24
+ it "parses json body" do
25
+ response = process('{"a":1}')
26
+ response.body.should eql('a' => 1)
27
+ response.env[:raw_body].should eql('{"a":1}')
20
28
  end
21
29
 
22
- it 'should handle hashes' do
23
- me = parse_json.on_complete(:body => '{"name":"Erik Michaels-Ober","screen_name":"sferik"}')
24
- me.class.should == Hash
25
- me['name'].should == 'Erik Michaels-Ober'
26
- me['screen_name'].should == 'sferik'
30
+ it "can opt out of preserving raw" do
31
+ response = process('{"a":1}', nil, :preserve_raw => false)
32
+ response.env[:raw_body].should be_nil
27
33
  end
34
+ end
28
35
 
29
- it 'should handle arrays' do
30
- values = parse_json.on_complete(:body => '[123, 456]')
31
- values.class.should == Array
32
- values.first.should == 123
33
- values.last.should == 456
36
+ context "with regexp type matching" do
37
+ let(:options) { {:content_type => /\bjson$/} }
38
+
39
+ it "parses json body of correct type" do
40
+ response = process('{"a":1}', 'application/x-json')
41
+ response.body.should eql('a' => 1)
34
42
  end
35
43
 
36
- it 'should handle arrays of hashes' do
37
- us = parse_json.on_complete(:body => '[{"screen_name":"sferik"},{"screen_name":"pengwynn"}]')
38
- us.class.should == Array
39
- us.first['screen_name'].should == 'sferik'
40
- us.last['screen_name'].should == 'pengwynn'
44
+ it "ignores json body of incorrect type" do
45
+ response = process('{"a":1}', 'text/json-xml')
46
+ response.body.should eql('{"a":1}')
41
47
  end
48
+ end
42
49
 
43
- it 'should handle mixed arrays' do
44
- values = parse_json.on_complete(:body => '[123, {"screen_name":"sferik"}, 456]')
45
- values.class.should == Array
46
- values.first.should == 123
47
- values.last.should == 456
48
- values[1]['screen_name'].should == 'sferik'
50
+ context "with array type matching" do
51
+ let(:options) { {:content_type => %w[a/b c/d]} }
52
+
53
+ it "parses json body of correct type" do
54
+ process('{"a":1}', 'a/b').body.should be_a(Hash)
55
+ process('{"a":1}', 'c/d').body.should be_a(Hash)
56
+ end
57
+
58
+ it "ignores json body of incorrect type" do
59
+ process('{"a":1}', 'a/d').body.should_not be_a(Hash)
60
+ end
61
+ end
62
+
63
+ it "chokes on invalid json" do
64
+ ['{!', ' ', '"a"', 'true', 'null', '1'].each do |data|
65
+ expect { process(data) }.to raise_error(Faraday::Error::ParsingError)
49
66
  end
50
67
  end
51
68
 
52
- context 'integration test' do
53
- let(:stubs) { Faraday::Adapter::Test::Stubs.new }
54
- let(:connection) do
55
- Faraday::Connection.new do |builder|
56
- builder.adapter :test, stubs
57
- builder.use Faraday::Response::ParseJson
58
- end
69
+ context "with mime type fix" do
70
+ let(:middleware) {
71
+ app = described_class::MimeTypeFix.new(lambda {|env|
72
+ Faraday::Response.new(env)
73
+ }, :content_type => /^text\//)
74
+ described_class.new(app, :content_type => 'application/json')
75
+ }
76
+
77
+ it "ignores completely incompatible type" do
78
+ response = process('{"a":1}', 'application/xml')
79
+ response.body.should eql('{"a":1}')
80
+ end
81
+
82
+ it "ignores compatible type with bad data" do
83
+ response = process('var a = 1', 'text/javascript')
84
+ response.body.should eql('var a = 1')
85
+ response['content-type'].should eql('text/javascript')
59
86
  end
60
87
 
61
- it 'should create a Hash from the body' do
62
- stubs.get('/hash') {[200, {'content-type' => 'application/json; charset=utf-8'}, '{"name":"Erik Michaels-Ober","screen_name":"sferik"}']}
63
- me = connection.get('/hash').body
64
- me.class.should == Hash
65
- me['name'].should == 'Erik Michaels-Ober'
66
- me['screen_name'].should == 'sferik'
88
+ it "corrects compatible type and data" do
89
+ response = process('{"a":1}', 'text/javascript')
90
+ response.body.should be_a(Hash)
91
+ response['content-type'].should eql('application/json')
67
92
  end
68
93
  end
69
94
  end
@@ -1,33 +1,16 @@
1
1
  require 'helper'
2
+ require 'faraday_middleware/response/parse_marshal'
2
3
 
3
- describe Faraday::Response::ParseMarshal do
4
- context 'when used' do
5
- let(:parse_marshal) { Faraday::Response::ParseMarshal.new }
6
-
7
- it 'should load a marshalled hash' do
8
- me = parse_marshal.on_complete(:body => "\x04\b{\x06I\"\tname\x06:\x06ETI\"\x17Erik Michaels-Ober\x06;\x00T")
9
- me.class.should == Hash
10
- end
11
-
12
- it 'should handle hashes' do
13
- me = parse_marshal.on_complete(:body => "\x04\b{\x06I\"\tname\x06:\x06ETI\"\x17Erik Michaels-Ober\x06;\x00T")
14
- me['name'].should == 'Erik Michaels-Ober'
15
- end
4
+ describe FaradayMiddleware::ParseMarshal, :type => :response do
5
+ it "restores a marshaled dump" do
6
+ process(Marshal.dump(:a => 1)).body.should be_eql(:a => 1)
16
7
  end
17
8
 
18
- context 'integration test' do
19
- let(:stubs) { Faraday::Adapter::Test::Stubs.new }
20
- let(:connection) do
21
- Faraday::Connection.new do |builder|
22
- builder.adapter :test, stubs
23
- builder.use Faraday::Response::ParseMarshal
24
- end
25
- end
9
+ it "nulifies blank response" do
10
+ process('').body.should be_nil
11
+ end
26
12
 
27
- it 'should create a Hash from the body' do
28
- stubs.get('/hash') {[200, {'content-type' => 'application/xml; charset=utf-8'}, "\x04\b{\x06I\"\tname\x06:\x06ETI\"\x17Erik Michaels-Ober\x06;\x00T"]}
29
- me = connection.get('/hash').body
30
- me.class.should == Hash
31
- end
13
+ it "chokes on invalid content" do
14
+ expect { process('abc') }.to raise_error(Faraday::Error::ParsingError)
32
15
  end
33
16
  end
@@ -1,39 +1,71 @@
1
1
  require 'helper'
2
+ require 'faraday_middleware/response/parse_xml'
2
3
 
3
- describe Faraday::Response::ParseXml do
4
- context 'when used' do
5
- let(:parse_xml) { Faraday::Response::ParseXml.new }
4
+ describe FaradayMiddleware::ParseXml, :type => :response do
5
+ let(:xml) { '<user><name>Erik Michaels-Ober</name><screen_name>sferik</screen_name></user>' }
6
+ let(:user) { {'user' => {'name' => 'Erik Michaels-Ober', 'screen_name' => 'sferik'} } }
6
7
 
7
- it 'should handle an empty response' do
8
- empty = parse_xml.on_complete(:body => '')
9
- empty.should == Hash.new
8
+ context "no type matching" do
9
+ it "doesn't change nil body" do
10
+ process(nil).body.should be_nil
10
11
  end
11
12
 
12
- it 'should create a Hash from the body' do
13
- me = parse_xml.on_complete(:body => '<user><name>Erik Michaels-Ober</name><screen_name>sferik</screen_name></user>')
14
- me.class.should == Hash
13
+ it "turns empty body into empty hash" do
14
+ process('').body.should be_eql({})
15
15
  end
16
16
 
17
- it 'should handle hashes' do
18
- me = parse_xml.on_complete(:body => '<user><name>Erik Michaels-Ober</name><screen_name>sferik</screen_name></user>')
19
- me['user']['name'].should == 'Erik Michaels-Ober'
20
- me['user']['screen_name'].should == 'sferik'
17
+ it "parses xml body" do
18
+ response = process(xml)
19
+ response.body.should eql(user)
20
+ response.env[:raw_body].should be_nil
21
21
  end
22
22
  end
23
23
 
24
- context 'integration test' do
25
- let(:stubs) { Faraday::Adapter::Test::Stubs.new }
26
- let(:connection) do
27
- Faraday::Connection.new do |builder|
28
- builder.adapter :test, stubs
29
- builder.use Faraday::Response::ParseXml
30
- end
24
+ context "with preserving raw" do
25
+ let(:options) { {:preserve_raw => true} }
26
+
27
+ it "parses xml body" do
28
+ response = process(xml)
29
+ response.body.should eql(user)
30
+ response.env[:raw_body].should eql(xml)
31
+ end
32
+
33
+ it "can opt out of preserving raw" do
34
+ response = process(xml, nil, :preserve_raw => false)
35
+ response.env[:raw_body].should be_nil
36
+ end
37
+ end
38
+
39
+ context "with regexp type matching" do
40
+ let(:options) { {:content_type => /\bxml$/} }
41
+
42
+ it "parses xml body of correct type" do
43
+ response = process(xml, 'application/xml')
44
+ response.body.should eql(user)
45
+ end
46
+
47
+ it "ignores xml body of incorrect type" do
48
+ response = process(xml, 'text/html')
49
+ response.body.should eql(xml)
50
+ end
51
+ end
52
+
53
+ context "with array type matching" do
54
+ let(:options) { {:content_type => %w[a/b c/d]} }
55
+
56
+ it "parses xml body of correct type" do
57
+ process(xml, 'a/b').body.should be_a(Hash)
58
+ process(xml, 'c/d').body.should be_a(Hash)
59
+ end
60
+
61
+ it "ignores xml body of incorrect type" do
62
+ process(xml, 'a/d').body.should_not be_a(Hash)
31
63
  end
64
+ end
32
65
 
33
- it 'should create a Hash from the body' do
34
- stubs.get('/hash') {[200, {'content-type' => 'application/xml; charset=utf-8'}, '<user><name>Erik Michaels-Ober</name><screen_name>sferik</screen_name></user>']}
35
- me = connection.get('/hash').body
36
- me.class.should == Hash
66
+ it "chokes on invalid xml" do
67
+ ['{!', '"a"', 'true', 'null', '1'].each do |data|
68
+ expect { process(data) }.to raise_error(Faraday::Error::ParsingError)
37
69
  end
38
70
  end
39
71
  end
@@ -1,33 +1,53 @@
1
1
  require 'helper'
2
+ require 'faraday_middleware/response/parse_yaml'
2
3
 
3
- describe Faraday::Response::ParseYaml do
4
- context 'when used' do
5
- let(:parse_yaml) { Faraday::Response::ParseYaml.new }
4
+ describe FaradayMiddleware::ParseYaml, :type => :response do
5
+ context "no type matching" do
6
+ it "doesn't change nil body" do
7
+ process(nil).body.should be_nil
8
+ end
9
+
10
+ it "returns false for empty body" do
11
+ process('').body.should be_false
12
+ end
13
+
14
+ it "parses yaml body" do
15
+ response = process('a: 1')
16
+ response.body.should eql('a' => 1)
17
+ response.env[:raw_body].should be_nil
18
+ end
19
+ end
20
+
21
+ context "with preserving raw" do
22
+ let(:options) { {:preserve_raw => true} }
6
23
 
7
- it 'should load a marshalled hash' do
8
- me = parse_yaml.on_complete(:body => "--- \nname: Erik Michaels-Ober\n")
9
- me.class.should == Hash
24
+ it "parses yaml body" do
25
+ response = process('a: 1')
26
+ response.body.should eql('a' => 1)
27
+ response.env[:raw_body].should eql('a: 1')
10
28
  end
11
29
 
12
- it 'should handle hashes' do
13
- me = parse_yaml.on_complete(:body => "--- \nname: Erik Michaels-Ober\n")
14
- me['name'].should == 'Erik Michaels-Ober'
30
+ it "can opt out of preserving raw" do
31
+ response = process('a: 1', nil, :preserve_raw => false)
32
+ response.env[:raw_body].should be_nil
15
33
  end
16
34
  end
17
35
 
18
- context 'integration test' do
19
- let(:stubs) { Faraday::Adapter::Test::Stubs.new }
20
- let(:connection) do
21
- Faraday::Connection.new do |builder|
22
- builder.adapter :test, stubs
23
- builder.use Faraday::Response::ParseYaml
24
- end
36
+ context "with regexp type matching" do
37
+ let(:options) { {:content_type => /\byaml$/} }
38
+
39
+ it "parses json body of correct type" do
40
+ response = process('a: 1', 'application/x-yaml')
41
+ response.body.should eql('a' => 1)
25
42
  end
26
43
 
27
- it 'should create a Hash from the body' do
28
- stubs.get('/hash') {[200, {'content-type' => 'application/xml; charset=utf-8'}, "--- \nname: Erik Michaels-Ober\n"]}
29
- me = connection.get('/hash').body
30
- me.class.should == Hash
44
+ it "ignores json body of incorrect type" do
45
+ response = process('a: 1', 'text/yaml-xml')
46
+ response.body.should eql('a: 1')
31
47
  end
32
48
  end
49
+
50
+ it "chokes on invalid yaml" do
51
+ expect { process('{!') }.to raise_error(Faraday::Error::ParsingError)
52
+ end
33
53
  end
@@ -1,9 +1,10 @@
1
1
  require 'helper'
2
+ require 'faraday_middleware/response/rashify'
2
3
 
3
- describe Faraday::Response::Rashify do
4
+ describe FaradayMiddleware::Rashify do
4
5
 
5
6
  context 'when used' do
6
- let(:rashify) { Faraday::Response::Rashify.new }
7
+ let(:rashify) { described_class.new }
7
8
 
8
9
  it 'should create a Hashie::Rash from the body' do
9
10
  env = { :body => { "name" => "Erik Michaels-Ober", "username" => "sferik" } }
@@ -52,7 +53,7 @@ describe Faraday::Response::Rashify do
52
53
  let(:connection) do
53
54
  Faraday::Connection.new do |builder|
54
55
  builder.adapter :test, stubs
55
- builder.use Faraday::Response::Rashify
56
+ builder.use described_class
56
57
  end
57
58
  end
58
59
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: faraday_middleware
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.0
4
+ version: 0.8.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,56 +10,58 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2011-07-30 00:00:00.000000000 -07:00
14
- default_executable:
13
+ date: 2012-01-24 00:00:00.000000000 Z
15
14
  dependencies:
16
15
  - !ruby/object:Gem::Dependency
17
16
  name: faraday
18
- requirement: &70235434354460 !ruby/object:Gem::Requirement
17
+ requirement: &70328307940220 !ruby/object:Gem::Requirement
19
18
  none: false
20
19
  requirements:
21
- - - ~>
20
+ - - ! '>='
21
+ - !ruby/object:Gem::Version
22
+ version: 0.7.4
23
+ - - <
22
24
  - !ruby/object:Gem::Version
23
- version: 0.7.3
25
+ version: '0.9'
24
26
  type: :runtime
25
27
  prerelease: false
26
- version_requirements: *70235434354460
28
+ version_requirements: *70328307940220
27
29
  - !ruby/object:Gem::Dependency
28
- name: rake
29
- requirement: &70235434353680 !ruby/object:Gem::Requirement
30
+ name: multi_xml
31
+ requirement: &70328307938460 !ruby/object:Gem::Requirement
30
32
  none: false
31
33
  requirements:
32
34
  - - ~>
33
35
  - !ruby/object:Gem::Version
34
- version: '0.9'
36
+ version: '0.2'
35
37
  type: :development
36
38
  prerelease: false
37
- version_requirements: *70235434353680
39
+ version_requirements: *70328307938460
38
40
  - !ruby/object:Gem::Dependency
39
- name: rspec
40
- requirement: &70235434353060 !ruby/object:Gem::Requirement
41
+ name: rake
42
+ requirement: &70328307937560 !ruby/object:Gem::Requirement
41
43
  none: false
42
44
  requirements:
43
45
  - - ~>
44
46
  - !ruby/object:Gem::Version
45
- version: '2.6'
47
+ version: '0.9'
46
48
  type: :development
47
49
  prerelease: false
48
- version_requirements: *70235434353060
50
+ version_requirements: *70328307937560
49
51
  - !ruby/object:Gem::Dependency
50
- name: simplecov
51
- requirement: &70235434352020 !ruby/object:Gem::Requirement
52
+ name: hashie
53
+ requirement: &70328307936700 !ruby/object:Gem::Requirement
52
54
  none: false
53
55
  requirements:
54
56
  - - ~>
55
57
  - !ruby/object:Gem::Version
56
- version: '0.4'
58
+ version: '1.2'
57
59
  type: :development
58
60
  prerelease: false
59
- version_requirements: *70235434352020
61
+ version_requirements: *70328307936700
60
62
  - !ruby/object:Gem::Dependency
61
63
  name: rash
62
- requirement: &70235434351140 !ruby/object:Gem::Requirement
64
+ requirement: &70328307935660 !ruby/object:Gem::Requirement
63
65
  none: false
64
66
  requirements:
65
67
  - - ~>
@@ -67,51 +69,40 @@ dependencies:
67
69
  version: '0.3'
68
70
  type: :development
69
71
  prerelease: false
70
- version_requirements: *70235434351140
71
- - !ruby/object:Gem::Dependency
72
- name: multi_json
73
- requirement: &70235434350360 !ruby/object:Gem::Requirement
74
- none: false
75
- requirements:
76
- - - ~>
77
- - !ruby/object:Gem::Version
78
- version: '1.0'
79
- type: :development
80
- prerelease: false
81
- version_requirements: *70235434350360
72
+ version_requirements: *70328307935660
82
73
  - !ruby/object:Gem::Dependency
83
- name: multi_xml
84
- requirement: &70235434349540 !ruby/object:Gem::Requirement
74
+ name: rspec
75
+ requirement: &70328307934840 !ruby/object:Gem::Requirement
85
76
  none: false
86
77
  requirements:
87
78
  - - ~>
88
79
  - !ruby/object:Gem::Version
89
- version: '0.2'
80
+ version: '2.6'
90
81
  type: :development
91
82
  prerelease: false
92
- version_requirements: *70235434349540
83
+ version_requirements: *70328307934840
93
84
  - !ruby/object:Gem::Dependency
94
- name: oauth2
95
- requirement: &70235434349080 !ruby/object:Gem::Requirement
85
+ name: simple_oauth
86
+ requirement: &70328307953240 !ruby/object:Gem::Requirement
96
87
  none: false
97
88
  requirements:
98
89
  - - ~>
99
90
  - !ruby/object:Gem::Version
100
- version: 0.5.0
91
+ version: '0.1'
101
92
  type: :development
102
93
  prerelease: false
103
- version_requirements: *70235434349080
94
+ version_requirements: *70328307953240
104
95
  - !ruby/object:Gem::Dependency
105
- name: simple_oauth
106
- requirement: &70235434348460 !ruby/object:Gem::Requirement
96
+ name: rack-cache
97
+ requirement: &70328307951820 !ruby/object:Gem::Requirement
107
98
  none: false
108
99
  requirements:
109
100
  - - ~>
110
101
  - !ruby/object:Gem::Version
111
- version: '0.1'
102
+ version: '1.1'
112
103
  type: :development
113
104
  prerelease: false
114
- version_requirements: *70235434348460
105
+ version_requirements: *70328307951820
115
106
  description: Various middleware for Faraday
116
107
  email:
117
108
  - sferik@gmail.com
@@ -130,16 +121,27 @@ files:
130
121
  - README.md
131
122
  - Rakefile
132
123
  - faraday_middleware.gemspec
133
- - lib/faraday/request/oauth.rb
134
- - lib/faraday/request/oauth2.rb
135
- - lib/faraday/response/mashify.rb
136
- - lib/faraday/response/parse_json.rb
137
- - lib/faraday/response/parse_marshal.rb
138
- - lib/faraday/response/parse_xml.rb
139
- - lib/faraday/response/parse_yaml.rb
140
- - lib/faraday/response/rashify.rb
141
124
  - lib/faraday_middleware.rb
125
+ - lib/faraday_middleware/addressable_patch.rb
126
+ - lib/faraday_middleware/backwards_compatibility.rb
127
+ - lib/faraday_middleware/instrumentation.rb
128
+ - lib/faraday_middleware/rack_compatible.rb
129
+ - lib/faraday_middleware/request/encode_json.rb
130
+ - lib/faraday_middleware/request/oauth.rb
131
+ - lib/faraday_middleware/request/oauth2.rb
132
+ - lib/faraday_middleware/response/caching.rb
133
+ - lib/faraday_middleware/response/follow_redirects.rb
134
+ - lib/faraday_middleware/response/mashify.rb
135
+ - lib/faraday_middleware/response/parse_json.rb
136
+ - lib/faraday_middleware/response/parse_marshal.rb
137
+ - lib/faraday_middleware/response/parse_xml.rb
138
+ - lib/faraday_middleware/response/parse_yaml.rb
139
+ - lib/faraday_middleware/response/rashify.rb
140
+ - lib/faraday_middleware/response_middleware.rb
142
141
  - lib/faraday_middleware/version.rb
142
+ - spec/caching_test.rb
143
+ - spec/encode_json_spec.rb
144
+ - spec/follow_redirects_spec.rb
143
145
  - spec/helper.rb
144
146
  - spec/mashify_spec.rb
145
147
  - spec/oauth2_spec.rb
@@ -149,7 +151,6 @@ files:
149
151
  - spec/parse_xml_spec.rb
150
152
  - spec/parse_yaml_spec.rb
151
153
  - spec/rashify_spec.rb
152
- has_rdoc: true
153
154
  homepage: https://github.com/pengwynn/faraday_middleware
154
155
  licenses: []
155
156
  post_install_message:
@@ -162,9 +163,6 @@ required_ruby_version: !ruby/object:Gem::Requirement
162
163
  - - ! '>='
163
164
  - !ruby/object:Gem::Version
164
165
  version: '0'
165
- segments:
166
- - 0
167
- hash: 4358588271321679399
168
166
  required_rubygems_version: !ruby/object:Gem::Requirement
169
167
  none: false
170
168
  requirements:
@@ -173,11 +171,14 @@ required_rubygems_version: !ruby/object:Gem::Requirement
173
171
  version: 1.3.6
174
172
  requirements: []
175
173
  rubyforge_project:
176
- rubygems_version: 1.6.2
174
+ rubygems_version: 1.8.12
177
175
  signing_key:
178
176
  specification_version: 3
179
177
  summary: Various middleware for Faraday
180
178
  test_files:
179
+ - spec/caching_test.rb
180
+ - spec/encode_json_spec.rb
181
+ - spec/follow_redirects_spec.rb
181
182
  - spec/helper.rb
182
183
  - spec/mashify_spec.rb
183
184
  - spec/oauth2_spec.rb
@@ -187,3 +188,4 @@ test_files:
187
188
  - spec/parse_xml_spec.rb
188
189
  - spec/parse_yaml_spec.rb
189
190
  - spec/rashify_spec.rb
191
+ has_rdoc: