faraday 0.6.0 → 0.8.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.
Files changed (58) hide show
  1. data/Gemfile +22 -15
  2. data/{LICENSE → LICENSE.md} +1 -1
  3. data/README.md +216 -146
  4. data/Rakefile +14 -58
  5. data/config.ru +6 -0
  6. data/faraday.gemspec +31 -38
  7. data/lib/faraday/adapter/em_http.rb +204 -0
  8. data/lib/faraday/adapter/em_synchrony/parallel_manager.rb +66 -0
  9. data/lib/faraday/adapter/em_synchrony.rb +67 -16
  10. data/lib/faraday/adapter/excon.rb +1 -2
  11. data/lib/faraday/adapter/net_http.rb +82 -39
  12. data/lib/faraday/adapter/net_http_persistent.rb +37 -0
  13. data/lib/faraday/adapter/patron.rb +42 -8
  14. data/lib/faraday/adapter/rack.rb +59 -0
  15. data/lib/faraday/adapter/test.rb +49 -9
  16. data/lib/faraday/adapter/typhoeus.rb +70 -15
  17. data/lib/faraday/adapter.rb +41 -18
  18. data/lib/faraday/builder.rb +34 -16
  19. data/lib/faraday/connection.rb +177 -115
  20. data/lib/faraday/error.rb +4 -2
  21. data/lib/faraday/middleware.rb +18 -10
  22. data/lib/faraday/request/authorization.rb +40 -0
  23. data/lib/faraday/request/basic_authentication.rb +13 -0
  24. data/lib/faraday/request/multipart.rb +5 -6
  25. data/lib/faraday/request/retry.rb +21 -0
  26. data/lib/faraday/request/token_authentication.rb +15 -0
  27. data/lib/faraday/request/url_encoded.rb +1 -3
  28. data/lib/faraday/request.rb +48 -38
  29. data/lib/faraday/response/raise_error.rb +1 -1
  30. data/lib/faraday/response.rb +6 -5
  31. data/lib/faraday/upload_io.rb +1 -1
  32. data/lib/faraday/utils.rb +196 -29
  33. data/lib/faraday.rb +69 -13
  34. data/test/adapters/default_test.rb +14 -0
  35. data/test/adapters/em_http_test.rb +14 -0
  36. data/test/adapters/em_synchrony_test.rb +14 -0
  37. data/test/adapters/excon_test.rb +23 -0
  38. data/test/adapters/integration.rb +190 -0
  39. data/test/adapters/logger_test.rb +2 -2
  40. data/test/adapters/net_http_persistent_test.rb +11 -0
  41. data/test/adapters/net_http_test.rb +37 -21
  42. data/test/adapters/patron_test.rb +17 -0
  43. data/test/adapters/rack_test.rb +26 -0
  44. data/test/adapters/test_middleware_test.rb +28 -1
  45. data/test/adapters/typhoeus_test.rb +14 -0
  46. data/test/authentication_middleware_test.rb +65 -0
  47. data/test/connection_test.rb +211 -81
  48. data/test/env_test.rb +80 -31
  49. data/test/helper.rb +23 -13
  50. data/test/live_server.rb +38 -29
  51. data/test/middleware/retry_test.rb +25 -0
  52. data/test/middleware_stack_test.rb +85 -4
  53. data/test/request_middleware_test.rb +42 -19
  54. data/test/response_middleware_test.rb +30 -3
  55. metadata +104 -110
  56. data/lib/faraday/adapter/action_dispatch.rb +0 -30
  57. data/lib/faraday/request/json.rb +0 -31
  58. data/test/adapters/live_test.rb +0 -186
data/test/live_server.rb CHANGED
@@ -1,41 +1,50 @@
1
- require 'sinatra'
2
- set :logging, false
1
+ require 'sinatra/base'
3
2
 
4
- get '/hello_world' do
5
- 'hello world'
6
- end
3
+ class FaradayTestServer < Sinatra::Base
4
+ set :logging => false,
5
+ :show_exceptions => false
7
6
 
8
- get '/json' do
9
- content_type 'application/json'
10
- "[1,2,3]"
11
- end
7
+ [:get, :post, :put, :patch, :delete, :options].each do |method|
8
+ send(method, '/echo') do
9
+ kind = request.request_method.downcase
10
+ out = kind.dup
11
+ out << ' ?' << request.GET.inspect if request.GET.any?
12
+ out << ' ' << request.POST.inspect if request.POST.any?
12
13
 
13
- post '/file' do
14
- if params[:uploaded_file].respond_to? :each_key
15
- "file %s %s" % [
16
- params[:uploaded_file][:filename],
17
- params[:uploaded_file][:type]]
18
- else
19
- status 400
14
+ content_type 'text/plain'
15
+ return out
16
+ end
20
17
  end
21
- end
22
18
 
23
- %w[get post].each do |method|
24
- send(method, '/hello') do
25
- "hello #{params[:name]}"
19
+ get '/echo_header' do
20
+ header = "HTTP_#{params[:name].tr('-', '_').upcase}"
21
+ request.env.fetch(header) { 'NONE' }
26
22
  end
27
- end
28
23
 
29
- %w[post put].each do |method|
30
- send(method, '/echo_name') do
31
- params[:name].inspect
24
+ post '/file' do
25
+ if params[:uploaded_file].respond_to? :each_key
26
+ "file %s %s" % [
27
+ params[:uploaded_file][:filename],
28
+ params[:uploaded_file][:type]]
29
+ else
30
+ status 400
31
+ end
32
32
  end
33
- end
34
33
 
35
- delete '/delete_with_json' do
36
- %/{"deleted":true}/
34
+ get '/multi' do
35
+ [200, { 'Set-Cookie' => 'one, two' }, '']
36
+ end
37
+
38
+ get '/slow' do
39
+ sleep 10
40
+ [200, {}, 'ok']
41
+ end
42
+
43
+ error do |e|
44
+ "#{e.class}\n#{e.to_s}\n#{e.backtrace.join("\n")}"
45
+ end
37
46
  end
38
47
 
39
- get '/multi' do
40
- [200, { 'Set-Cookie' => %w[ one two ] }, '']
48
+ if $0 == __FILE__
49
+ FaradayTestServer.run!
41
50
  end
@@ -0,0 +1,25 @@
1
+ require File.expand_path(File.join(File.dirname(__FILE__), "..", "helper"))
2
+
3
+ module Middleware
4
+ class RetryTest < Faraday::TestCase
5
+ def setup
6
+ @stubs = Faraday::Adapter::Test::Stubs.new
7
+ @conn = Faraday.new do |b|
8
+ b.request :retry, 2
9
+ b.adapter :test, @stubs
10
+ end
11
+ end
12
+
13
+ def test_retries
14
+ times_called = 0
15
+
16
+ @stubs.post("/echo") do
17
+ times_called += 1
18
+ raise "Error occurred"
19
+ end
20
+
21
+ @conn.post("/echo") rescue nil
22
+ assert_equal times_called, 3
23
+ end
24
+ end
25
+ end
@@ -12,22 +12,24 @@ class MiddlewareStackTest < Faraday::TestCase
12
12
  class Orange < Handler; end
13
13
  class Banana < Handler; end
14
14
 
15
+ class Broken < Faraday::Middleware
16
+ dependency 'zomg/i_dont/exist'
17
+ end
18
+
15
19
  def setup
16
20
  @conn = Faraday::Connection.new
17
21
  @builder = @conn.builder
18
22
  end
19
23
 
20
24
  def test_sets_default_adapter_if_none_set
21
- default_middleware = Faraday::Request.lookup_module :url_encoded
22
- default_adapter_klass = Faraday::Adapter.lookup_module Faraday.default_adapter
25
+ default_middleware = Faraday::Request.lookup_middleware :url_encoded
26
+ default_adapter_klass = Faraday::Adapter.lookup_middleware Faraday.default_adapter
23
27
  assert @builder[0] == default_middleware
24
28
  assert @builder[1] == default_adapter_klass
25
29
  end
26
30
 
27
31
  def test_allows_rebuilding
28
32
  build_stack Apple
29
- assert_handlers %w[Apple]
30
-
31
33
  build_stack Orange
32
34
  assert_handlers %w[Orange]
33
35
  end
@@ -67,12 +69,86 @@ class MiddlewareStackTest < Faraday::TestCase
67
69
  assert_handlers %w[Orange]
68
70
  end
69
71
 
72
+ def test_stack_is_locked_after_making_requests
73
+ build_stack Apple
74
+ assert !@builder.locked?
75
+ @conn.get('/')
76
+ assert @builder.locked?
77
+
78
+ assert_raises Faraday::Builder::StackLocked do
79
+ @conn.use Orange
80
+ end
81
+ end
82
+
83
+ def test_duped_stack_is_unlocked
84
+ build_stack Apple
85
+ assert !@builder.locked?
86
+ @builder.lock!
87
+ assert @builder.locked?
88
+
89
+ duped_connection = @conn.dup
90
+ assert_equal @builder, duped_connection.builder
91
+ assert !duped_connection.builder.locked?
92
+ end
93
+
94
+ def test_handler_comparison
95
+ build_stack Apple
96
+ assert_equal @builder.handlers.first, Apple
97
+ assert_equal @builder.handlers[0,1], [Apple]
98
+ assert_equal @builder.handlers.first, Faraday::Builder::Handler.new(Apple)
99
+ end
100
+
101
+ def test_unregistered_symbol
102
+ err = assert_raise(RuntimeError) { build_stack :apple }
103
+ assert_equal ":apple is not registered on Faraday::Middleware", err.message
104
+ end
105
+
106
+ def test_registered_symbol
107
+ Faraday.register_middleware :apple => Apple
108
+ begin
109
+ build_stack :apple
110
+ assert_handlers %w[Apple]
111
+ ensure
112
+ unregister_middleware Faraday::Middleware, :apple
113
+ end
114
+ end
115
+
116
+ def test_registered_symbol_with_proc
117
+ Faraday.register_middleware :apple => lambda { Apple }
118
+ begin
119
+ build_stack :apple
120
+ assert_handlers %w[Apple]
121
+ ensure
122
+ unregister_middleware Faraday::Middleware, :apple
123
+ end
124
+ end
125
+
126
+ def test_registered_symbol_with_type
127
+ Faraday.register_middleware :request, :orange => Orange
128
+ begin
129
+ build_stack {|b| b.request :orange }
130
+ assert_handlers %w[Orange]
131
+ ensure
132
+ unregister_middleware Faraday::Request, :orange
133
+ end
134
+ end
135
+
136
+ def test_missing_dependencies
137
+ build_stack Broken
138
+ err = assert_raises RuntimeError do
139
+ @conn.get('/')
140
+ end
141
+ assert_match "missing dependency for MiddlewareStackTest::Broken: ", err.message
142
+ assert_match "zomg/i_dont/exist", err.message
143
+ end
144
+
70
145
  private
71
146
 
72
147
  # make a stack with test adapter that reflects the order of middleware
73
148
  def build_stack(*handlers)
74
149
  @builder.build do |b|
75
150
  handlers.each { |handler| b.use(*handler) }
151
+ yield b if block_given?
76
152
 
77
153
  b.adapter :test do |stub|
78
154
  stub.get '/' do |env|
@@ -88,4 +164,9 @@ class MiddlewareStackTest < Faraday::TestCase
88
164
  echoed_list.shift if echoed_list.first == ''
89
165
  assert_equal list, echoed_list
90
166
  end
167
+
168
+ def unregister_middleware(component, key)
169
+ # TODO: unregister API?
170
+ component.instance_variable_get('@registered_middleware').delete(key)
171
+ end
91
172
  end
@@ -1,14 +1,13 @@
1
+ # encoding: utf-8
1
2
  require File.expand_path(File.join(File.dirname(__FILE__), 'helper'))
2
- require 'rack/utils'
3
3
 
4
- Faraday::CompositeReadIO.send :attr_reader, :ios
4
+ Faraday::CompositeReadIO.class_eval { attr_reader :ios }
5
5
 
6
6
  class RequestMiddlewareTest < Faraday::TestCase
7
7
  def setup
8
8
  @conn = Faraday.new do |b|
9
9
  b.request :multipart
10
10
  b.request :url_encoded
11
- b.request :json
12
11
  b.adapter :test do |stub|
13
12
  stub.post('/echo') do |env|
14
13
  posted_as = env[:request_headers]['Content-Type']
@@ -30,22 +29,10 @@ class RequestMiddlewareTest < Faraday::TestCase
30
29
  assert_equal({ :some => 'data' }, response.body)
31
30
  end
32
31
 
33
- def test_json_encodes_hash
34
- response = @conn.post('/echo', { :fruit => %w[apples oranges] }, 'content-type' => 'application/json')
35
- assert_equal 'application/json', response.headers['Content-Type']
36
- assert_equal '{"fruit":["apples","oranges"]}', response.body
37
- end
38
-
39
- def test_json_skips_encoding_for_strings
40
- response = @conn.post('/echo', '{"a":"b"}', 'content-type' => 'application/json')
41
- assert_equal 'application/json', response.headers['Content-Type']
42
- assert_equal '{"a":"b"}', response.body
43
- end
44
-
45
32
  def test_url_encoded_no_header
46
33
  response = @conn.post('/echo', { :fruit => %w[apples oranges] })
47
34
  assert_equal 'application/x-www-form-urlencoded', response.headers['Content-Type']
48
- assert_equal 'fruit[]=apples&fruit[]=oranges', response.body
35
+ assert_equal 'fruit%5B%5D=apples&fruit%5B%5D=oranges', response.body
49
36
  end
50
37
 
51
38
  def test_url_encoded_with_header
@@ -58,7 +45,20 @@ class RequestMiddlewareTest < Faraday::TestCase
58
45
  response = @conn.post('/echo', { :user => {:name => 'Mislav', :web => 'mislav.net'} })
59
46
  assert_equal 'application/x-www-form-urlencoded', response.headers['Content-Type']
60
47
  expected = { 'user' => {'name' => 'Mislav', 'web' => 'mislav.net'} }
61
- assert_equal expected, Rack::Utils.parse_nested_query(response.body)
48
+ assert_equal expected, Faraday::Utils.parse_nested_query(response.body)
49
+ end
50
+
51
+ def test_url_encoded_unicode
52
+ err = capture_warnings {
53
+ response = @conn.post('/echo', {:str => "eé cç aã aâ"})
54
+ assert_equal "str=e%C3%A9+c%C3%A7+a%C3%A3+a%C3%A2", response.body
55
+ }
56
+ assert err.empty?
57
+ end
58
+
59
+ def test_url_encoded_nested_keys
60
+ response = @conn.post('/echo', {'a'=>{'b'=>{'c'=>['d']}}})
61
+ assert_equal "a%5Bb%5D%5Bc%5D%5B%5D=d", response.body
62
62
  end
63
63
 
64
64
  def test_multipart
@@ -74,12 +74,35 @@ class RequestMiddlewareTest < Faraday::TestCase
74
74
  assert_kind_of Faraday::CompositeReadIO, response.body
75
75
  assert_equal "multipart/form-data;boundary=%s" % Faraday::Request::Multipart::DEFAULT_BOUNDARY,
76
76
  response.headers['Content-Type']
77
-
78
- response.body.send(:ios).map(&:read).each do |io|
77
+
78
+ response.body.send(:ios).map{|io| io.read}.each do |io|
79
+ if re = regexes.detect { |r| io =~ r }
80
+ regexes.delete re
81
+ end
82
+ end
83
+ assert_equal [], regexes
84
+ end
85
+
86
+ def test_multipart_with_arrays
87
+ # assume params are out of order
88
+ regexes = [
89
+ /name\=\"a\"/,
90
+ /name=\"b\[\]\[c\]\"\; filename\=\"request_middleware_test\.rb\"/,
91
+ /name=\"b\[\]\[d\]\"/]
92
+
93
+ payload = {:a => 1, :b =>[{:c => Faraday::UploadIO.new(__FILE__, 'text/x-ruby'), :d => 2}]}
94
+ response = @conn.post('/echo', payload)
95
+
96
+ assert_kind_of Faraday::CompositeReadIO, response.body
97
+ assert_equal "multipart/form-data;boundary=%s" % Faraday::Request::Multipart::DEFAULT_BOUNDARY,
98
+ response.headers['Content-Type']
99
+
100
+ response.body.send(:ios).map{|io| io.read}.each do |io|
79
101
  if re = regexes.detect { |r| io =~ r }
80
102
  regexes.delete re
81
103
  end
82
104
  end
83
105
  assert_equal [], regexes
84
106
  end
107
+
85
108
  end
@@ -23,7 +23,7 @@ class ResponseMiddlewareTest < Faraday::TestCase
23
23
  @conn.get('ok')
24
24
  end
25
25
  end
26
-
26
+
27
27
  def test_raises_not_found
28
28
  error = assert_raises Faraday::Error::ResourceNotFound do
29
29
  @conn.get('not-found')
@@ -31,7 +31,7 @@ class ResponseMiddlewareTest < Faraday::TestCase
31
31
  assert_equal 'the server responded with status 404', error.message
32
32
  assert_equal 'because', error.response[:headers]['X-Reason']
33
33
  end
34
-
34
+
35
35
  def test_raises_error
36
36
  error = assert_raises Faraday::Error::ClientError do
37
37
  @conn.get('error')
@@ -39,9 +39,36 @@ class ResponseMiddlewareTest < Faraday::TestCase
39
39
  assert_equal 'the server responded with status 500', error.message
40
40
  assert_equal 'bailout', error.response[:headers]['X-Error']
41
41
  end
42
-
42
+
43
43
  def test_upcase
44
44
  @conn.builder.insert(0, ResponseUpcaser)
45
45
  assert_equal '<BODY></BODY>', @conn.get('ok').body
46
46
  end
47
47
  end
48
+
49
+ class ResponseNoBodyMiddleWareTest < Faraday::TestCase
50
+ def setup
51
+ @conn = Faraday.new do |b|
52
+ b.response :raise_error
53
+ b.adapter :test do |stub|
54
+ stub.get('not_modified') { [304, nil, nil] }
55
+ stub.get('no_content') { [204, nil, nil] }
56
+ end
57
+ end
58
+ @conn.builder.insert(0, NotCalled)
59
+ end
60
+
61
+ class NotCalled < Faraday::Response::Middleware
62
+ def parse(body)
63
+ raise "this should not be called"
64
+ end
65
+ end
66
+
67
+ def test_204
68
+ assert_equal nil, @conn.get('no_content').body
69
+ end
70
+
71
+ def test_304
72
+ assert_equal nil, @conn.get('not_modified').body
73
+ end
74
+ end
metadata CHANGED
@@ -1,113 +1,93 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: faraday
3
- version: !ruby/object:Gem::Version
4
- hash: 7
5
- prerelease: false
6
- segments:
7
- - 0
8
- - 6
9
- - 0
10
- version: 0.6.0
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.8.0
5
+ prerelease:
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - Rick Olson
14
9
  autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
-
18
- date: 2011-03-31 00:00:00 -07:00
19
- default_executable:
20
- dependencies:
21
- - !ruby/object:Gem::Dependency
22
- name: rake
23
- prerelease: false
24
- requirement: &id001 !ruby/object:Gem::Requirement
12
+ date: 2012-04-23 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: multipart-post
16
+ requirement: &70331771782880 !ruby/object:Gem::Requirement
25
17
  none: false
26
- requirements:
18
+ requirements:
27
19
  - - ~>
28
- - !ruby/object:Gem::Version
29
- hash: 27
30
- segments:
31
- - 0
32
- - 8
33
- version: "0.8"
20
+ - !ruby/object:Gem::Version
21
+ version: '1.1'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: *70331771782880
25
+ - !ruby/object:Gem::Dependency
26
+ name: rake
27
+ requirement: &70331771781000 !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
34
33
  type: :development
35
- version_requirements: *id001
36
- - !ruby/object:Gem::Dependency
37
- name: addressable
38
34
  prerelease: false
39
- requirement: &id002 !ruby/object:Gem::Requirement
35
+ version_requirements: *70331771781000
36
+ - !ruby/object:Gem::Dependency
37
+ name: simplecov
38
+ requirement: &70331771779420 !ruby/object:Gem::Requirement
40
39
  none: false
41
- requirements:
42
- - - ~>
43
- - !ruby/object:Gem::Version
44
- hash: 15
45
- segments:
46
- - 2
47
- - 2
48
- - 4
49
- version: 2.2.4
50
- type: :runtime
51
- version_requirements: *id002
52
- - !ruby/object:Gem::Dependency
53
- name: multipart-post
40
+ requirements:
41
+ - - ! '>='
42
+ - !ruby/object:Gem::Version
43
+ version: '0'
44
+ type: :development
54
45
  prerelease: false
55
- requirement: &id003 !ruby/object:Gem::Requirement
46
+ version_requirements: *70331771779420
47
+ - !ruby/object:Gem::Dependency
48
+ name: test-unit
49
+ requirement: &70331771778040 !ruby/object:Gem::Requirement
56
50
  none: false
57
- requirements:
58
- - - ~>
59
- - !ruby/object:Gem::Version
60
- hash: 19
61
- segments:
62
- - 1
63
- - 1
64
- - 0
65
- version: 1.1.0
66
- type: :runtime
67
- version_requirements: *id003
68
- - !ruby/object:Gem::Dependency
69
- name: rack
51
+ requirements:
52
+ - - ! '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ type: :development
70
56
  prerelease: false
71
- requirement: &id004 !ruby/object:Gem::Requirement
57
+ version_requirements: *70331771778040
58
+ - !ruby/object:Gem::Dependency
59
+ name: webmock
60
+ requirement: &70331771775860 !ruby/object:Gem::Requirement
72
61
  none: false
73
- requirements:
74
- - - ">="
75
- - !ruby/object:Gem::Version
76
- hash: 19
77
- segments:
78
- - 1
79
- - 1
80
- - 0
81
- version: 1.1.0
82
- - - <
83
- - !ruby/object:Gem::Version
84
- hash: 7
85
- segments:
86
- - 2
87
- version: "2"
88
- type: :runtime
89
- version_requirements: *id004
90
- description: HTTP/REST API client library.
62
+ requirements:
63
+ - - ! '>='
64
+ - !ruby/object:Gem::Version
65
+ version: '0'
66
+ type: :development
67
+ prerelease: false
68
+ version_requirements: *70331771775860
69
+ description:
91
70
  email: technoweenie@gmail.com
92
71
  executables: []
93
-
94
72
  extensions: []
95
-
96
73
  extra_rdoc_files: []
97
-
98
- files:
74
+ files:
99
75
  - Gemfile
100
- - LICENSE
76
+ - LICENSE.md
101
77
  - README.md
102
78
  - Rakefile
79
+ - config.ru
103
80
  - faraday.gemspec
104
81
  - lib/faraday.rb
105
82
  - lib/faraday/adapter.rb
106
- - lib/faraday/adapter/action_dispatch.rb
83
+ - lib/faraday/adapter/em_http.rb
107
84
  - lib/faraday/adapter/em_synchrony.rb
85
+ - lib/faraday/adapter/em_synchrony/parallel_manager.rb
108
86
  - lib/faraday/adapter/excon.rb
109
87
  - lib/faraday/adapter/net_http.rb
88
+ - lib/faraday/adapter/net_http_persistent.rb
110
89
  - lib/faraday/adapter/patron.rb
90
+ - lib/faraday/adapter/rack.rb
111
91
  - lib/faraday/adapter/test.rb
112
92
  - lib/faraday/adapter/typhoeus.rb
113
93
  - lib/faraday/builder.rb
@@ -115,68 +95,82 @@ files:
115
95
  - lib/faraday/error.rb
116
96
  - lib/faraday/middleware.rb
117
97
  - lib/faraday/request.rb
118
- - lib/faraday/request/json.rb
98
+ - lib/faraday/request/authorization.rb
99
+ - lib/faraday/request/basic_authentication.rb
119
100
  - lib/faraday/request/multipart.rb
101
+ - lib/faraday/request/retry.rb
102
+ - lib/faraday/request/token_authentication.rb
120
103
  - lib/faraday/request/url_encoded.rb
121
104
  - lib/faraday/response.rb
122
105
  - lib/faraday/response/logger.rb
123
106
  - lib/faraday/response/raise_error.rb
124
107
  - lib/faraday/upload_io.rb
125
108
  - lib/faraday/utils.rb
126
- - test/adapters/live_test.rb
109
+ - test/adapters/default_test.rb
110
+ - test/adapters/em_http_test.rb
111
+ - test/adapters/em_synchrony_test.rb
112
+ - test/adapters/excon_test.rb
113
+ - test/adapters/integration.rb
127
114
  - test/adapters/logger_test.rb
115
+ - test/adapters/net_http_persistent_test.rb
128
116
  - test/adapters/net_http_test.rb
117
+ - test/adapters/patron_test.rb
118
+ - test/adapters/rack_test.rb
129
119
  - test/adapters/test_middleware_test.rb
120
+ - test/adapters/typhoeus_test.rb
121
+ - test/authentication_middleware_test.rb
130
122
  - test/connection_test.rb
131
123
  - test/env_test.rb
132
124
  - test/helper.rb
133
125
  - test/live_server.rb
126
+ - test/middleware/retry_test.rb
134
127
  - test/middleware_stack_test.rb
135
128
  - test/request_middleware_test.rb
136
129
  - test/response_middleware_test.rb
137
- has_rdoc: true
138
- homepage: http://github.com/technoweenie/faraday
130
+ homepage: https://github.com/technoweenie/faraday
139
131
  licenses: []
140
-
141
132
  post_install_message:
142
133
  rdoc_options: []
143
-
144
- require_paths:
134
+ require_paths:
145
135
  - lib
146
- required_ruby_version: !ruby/object:Gem::Requirement
136
+ required_ruby_version: !ruby/object:Gem::Requirement
147
137
  none: false
148
- requirements:
149
- - - ">="
150
- - !ruby/object:Gem::Version
151
- hash: 3
152
- segments:
153
- - 0
154
- version: "0"
155
- required_rubygems_version: !ruby/object:Gem::Requirement
138
+ requirements:
139
+ - - ! '>='
140
+ - !ruby/object:Gem::Version
141
+ version: '0'
142
+ required_rubygems_version: !ruby/object:Gem::Requirement
156
143
  none: false
157
- requirements:
158
- - - ">="
159
- - !ruby/object:Gem::Version
160
- hash: 17
161
- segments:
162
- - 1
163
- - 3
164
- - 5
144
+ requirements:
145
+ - - ! '>='
146
+ - !ruby/object:Gem::Version
165
147
  version: 1.3.5
166
148
  requirements: []
167
-
168
- rubyforge_project: faraday
169
- rubygems_version: 1.3.7
149
+ rubyforge_project:
150
+ rubygems_version: 1.8.10
170
151
  signing_key:
171
152
  specification_version: 2
172
153
  summary: HTTP/REST API client library.
173
- test_files:
174
- - test/adapters/live_test.rb
154
+ test_files:
155
+ - test/adapters/default_test.rb
156
+ - test/adapters/em_http_test.rb
157
+ - test/adapters/em_synchrony_test.rb
158
+ - test/adapters/excon_test.rb
159
+ - test/adapters/integration.rb
175
160
  - test/adapters/logger_test.rb
161
+ - test/adapters/net_http_persistent_test.rb
176
162
  - test/adapters/net_http_test.rb
163
+ - test/adapters/patron_test.rb
164
+ - test/adapters/rack_test.rb
177
165
  - test/adapters/test_middleware_test.rb
166
+ - test/adapters/typhoeus_test.rb
167
+ - test/authentication_middleware_test.rb
178
168
  - test/connection_test.rb
179
169
  - test/env_test.rb
170
+ - test/helper.rb
171
+ - test/live_server.rb
172
+ - test/middleware/retry_test.rb
180
173
  - test/middleware_stack_test.rb
181
174
  - test/request_middleware_test.rb
182
175
  - test/response_middleware_test.rb
176
+ has_rdoc: