faraday 0.9.1 → 0.17.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.
Files changed (74) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +196 -0
  3. data/LICENSE.md +1 -1
  4. data/README.md +192 -28
  5. data/Rakefile +6 -64
  6. data/lib/faraday/adapter/em_http.rb +17 -11
  7. data/lib/faraday/adapter/em_http_ssl_patch.rb +1 -1
  8. data/lib/faraday/adapter/em_synchrony.rb +19 -5
  9. data/lib/faraday/adapter/excon.rb +13 -11
  10. data/lib/faraday/adapter/httpclient.rb +31 -9
  11. data/lib/faraday/adapter/net_http.rb +36 -14
  12. data/lib/faraday/adapter/net_http_persistent.rb +37 -17
  13. data/lib/faraday/adapter/patron.rb +44 -21
  14. data/lib/faraday/adapter/rack.rb +1 -1
  15. data/lib/faraday/adapter/test.rb +79 -28
  16. data/lib/faraday/adapter/typhoeus.rb +4 -115
  17. data/lib/faraday/adapter.rb +10 -1
  18. data/lib/faraday/autoload.rb +1 -1
  19. data/lib/faraday/connection.rb +72 -20
  20. data/lib/faraday/deprecate.rb +101 -0
  21. data/lib/faraday/error.rb +90 -24
  22. data/lib/faraday/options.rb +43 -20
  23. data/lib/faraday/parameters.rb +56 -39
  24. data/lib/faraday/rack_builder.rb +27 -2
  25. data/lib/faraday/request/authorization.rb +1 -2
  26. data/lib/faraday/request/multipart.rb +7 -2
  27. data/lib/faraday/request/retry.rb +84 -19
  28. data/lib/faraday/request.rb +22 -0
  29. data/lib/faraday/response/logger.rb +29 -8
  30. data/lib/faraday/response/raise_error.rb +7 -3
  31. data/lib/faraday/response.rb +9 -5
  32. data/lib/faraday/utils.rb +32 -3
  33. data/lib/faraday.rb +14 -34
  34. data/spec/faraday/deprecate_spec.rb +69 -0
  35. data/spec/faraday/error_spec.rb +102 -0
  36. data/spec/faraday/response/raise_error_spec.rb +95 -0
  37. data/spec/spec_helper.rb +104 -0
  38. data/test/adapters/em_http_test.rb +10 -0
  39. data/test/adapters/em_synchrony_test.rb +22 -10
  40. data/test/adapters/excon_test.rb +10 -0
  41. data/test/adapters/httpclient_test.rb +14 -1
  42. data/test/adapters/integration.rb +17 -8
  43. data/test/adapters/logger_test.rb +65 -11
  44. data/test/adapters/net_http_persistent_test.rb +96 -2
  45. data/test/adapters/net_http_test.rb +67 -2
  46. data/test/adapters/patron_test.rb +28 -8
  47. data/test/adapters/rack_test.rb +8 -1
  48. data/test/adapters/test_middleware_test.rb +46 -3
  49. data/test/adapters/typhoeus_test.rb +19 -9
  50. data/test/composite_read_io_test.rb +16 -18
  51. data/test/connection_test.rb +294 -78
  52. data/test/env_test.rb +55 -5
  53. data/test/helper.rb +11 -17
  54. data/test/middleware/retry_test.rb +115 -10
  55. data/test/middleware_stack_test.rb +97 -10
  56. data/test/options_test.rb +97 -16
  57. data/test/parameters_test.rb +94 -1
  58. data/test/request_middleware_test.rb +24 -40
  59. data/test/response_middleware_test.rb +4 -4
  60. data/test/utils_test.rb +40 -0
  61. metadata +21 -66
  62. data/.document +0 -6
  63. data/CONTRIBUTING.md +0 -36
  64. data/Gemfile +0 -25
  65. data/faraday.gemspec +0 -34
  66. data/script/cached-bundle +0 -46
  67. data/script/console +0 -7
  68. data/script/generate_certs +0 -42
  69. data/script/package +0 -7
  70. data/script/proxy-server +0 -42
  71. data/script/release +0 -17
  72. data/script/s3-put +0 -71
  73. data/script/server +0 -36
  74. data/script/test +0 -172
@@ -1,4 +1,5 @@
1
1
  require File.expand_path("../helper", __FILE__)
2
+ require "rack/utils"
2
3
 
3
4
  class TestParameters < Faraday::TestCase
4
5
  # emulates ActiveSupport::SafeBuffer#gsub
@@ -55,10 +56,102 @@ class TestParameters < Faraday::TestCase
55
56
  end
56
57
 
57
58
  def test_encode_nil_nested
58
- assert_equal "a=", Faraday::NestedParamsEncoder.encode("a" => nil)
59
+ assert_equal "a", Faraday::NestedParamsEncoder.encode("a" => nil)
59
60
  end
60
61
 
61
62
  def test_encode_nil_flat
62
63
  assert_equal "a", Faraday::FlatParamsEncoder.encode("a" => nil)
63
64
  end
65
+
66
+ def test_decode_nested_array_rack_compat
67
+ query = "a[][one]=1&a[][two]=2&a[][one]=3&a[][two]=4"
68
+ expected = Rack::Utils.parse_nested_query(query)
69
+ assert_equal expected, Faraday::NestedParamsEncoder.decode(query)
70
+ end
71
+
72
+ def test_decode_nested_array_mixed_types
73
+ query = "a[][one]=1&a[]=2&a[]=&a[]"
74
+ expected = Rack::Utils.parse_nested_query(query)
75
+ assert_equal expected, Faraday::NestedParamsEncoder.decode(query)
76
+ end
77
+
78
+ def test_decode_nested_ignores_invalid_array
79
+ query = "[][a]=1&b=2"
80
+ expected = {"a" => "1", "b" => "2"}
81
+ assert_equal expected, Faraday::NestedParamsEncoder.decode(query)
82
+ end
83
+
84
+ def test_decode_nested_ignores_repeated_array_notation
85
+ query = "a[][][]=1"
86
+ expected = {"a" => ["1"]}
87
+ assert_equal expected, Faraday::NestedParamsEncoder.decode(query)
88
+ end
89
+
90
+ def test_decode_nested_ignores_malformed_keys
91
+ query = "=1&[]=2"
92
+ expected = {}
93
+ assert_equal expected, Faraday::NestedParamsEncoder.decode(query)
94
+ end
95
+
96
+ def test_decode_nested_subkeys_dont_have_to_be_in_brackets
97
+ query = "a[b]c[d]e=1"
98
+ expected = {"a" => {"b" => {"c" => {"d" => {"e" => "1"}}}}}
99
+ assert_equal expected, Faraday::NestedParamsEncoder.decode(query)
100
+ end
101
+
102
+ def test_decode_nested_raises_error_when_expecting_hash
103
+ error = assert_raises TypeError do
104
+ Faraday::NestedParamsEncoder.decode("a=1&a[b]=2")
105
+ end
106
+ assert_equal "expected Hash (got String) for param `a'", error.message
107
+
108
+ error = assert_raises TypeError do
109
+ Faraday::NestedParamsEncoder.decode("a[]=1&a[b]=2")
110
+ end
111
+ assert_equal "expected Hash (got Array) for param `a'", error.message
112
+
113
+ error = assert_raises TypeError do
114
+ Faraday::NestedParamsEncoder.decode("a[b]=1&a[]=2")
115
+ end
116
+ assert_equal "expected Array (got Hash) for param `a'", error.message
117
+
118
+ error = assert_raises TypeError do
119
+ Faraday::NestedParamsEncoder.decode("a=1&a[]=2")
120
+ end
121
+ assert_equal "expected Array (got String) for param `a'", error.message
122
+
123
+ error = assert_raises TypeError do
124
+ Faraday::NestedParamsEncoder.decode("a[b]=1&a[b][c]=2")
125
+ end
126
+ assert_equal "expected Hash (got String) for param `b'", error.message
127
+ end
128
+
129
+ def test_decode_nested_final_value_overrides_any_type
130
+ query = "a[b][c]=1&a[b]=2"
131
+ expected = {"a" => {"b" => "2"}}
132
+ assert_equal expected, Faraday::NestedParamsEncoder.decode(query)
133
+ end
134
+
135
+ def test_encode_rack_compat_nested
136
+ params = { :a => [{:one => "1", :two => "2"}, "3", ""] }
137
+ expected = Rack::Utils.build_nested_query(params)
138
+ assert_equal expected.split("&").sort,
139
+ Faraday::Utils.unescape(Faraday::NestedParamsEncoder.encode(params)).split("&").sort
140
+ end
141
+
142
+ def test_encode_empty_string_array_value
143
+ expected = 'baz=&foo%5Bbar%5D='
144
+ assert_equal expected, Faraday::NestedParamsEncoder.encode(foo: {bar: ''}, baz: '')
145
+ end
146
+
147
+ def test_encode_nil_array_value
148
+ expected = 'baz&foo%5Bbar%5D'
149
+ assert_equal expected, Faraday::NestedParamsEncoder.encode(foo: {bar: nil}, baz: nil)
150
+ end
151
+
152
+ def test_encode_empty_array_value
153
+ expected = 'baz%5B%5D&foo%5Bbar%5D%5B%5D'
154
+ Faraday::NestedParamsEncoder.encode(foo: { bar: [] }, baz: [])
155
+ assert_equal expected, Faraday::NestedParamsEncoder.encode(foo: { bar: [] }, baz: [])
156
+ end
64
157
  end
@@ -4,8 +4,8 @@ require File.expand_path('../helper', __FILE__)
4
4
  Faraday::CompositeReadIO.class_eval { attr_reader :ios }
5
5
 
6
6
  class RequestMiddlewareTest < Faraday::TestCase
7
- def setup
8
- @conn = Faraday.new do |b|
7
+ def conn
8
+ Faraday.new do |b|
9
9
  b.request :multipart
10
10
  b.request :url_encoded
11
11
  b.adapter :test do |stub|
@@ -17,53 +17,39 @@ class RequestMiddlewareTest < Faraday::TestCase
17
17
  end
18
18
  end
19
19
 
20
- def with_utf8
21
- if defined?(RUBY_VERSION) && RUBY_VERSION.match(/1.8.\d/)
22
- begin
23
- previous_kcode = $KCODE
24
- $KCODE = "UTF8"
25
- yield
26
- ensure
27
- $KCODE = previous_kcode
28
- end
29
- else
30
- yield
31
- end
32
- end
33
-
34
20
  def test_does_nothing_without_payload
35
- response = @conn.post('/echo')
21
+ response = conn.post('/echo')
36
22
  assert_nil response.headers['Content-Type']
37
23
  assert response.body.empty?
38
24
  end
39
25
 
40
26
  def test_ignores_custom_content_type
41
- response = @conn.post('/echo', { :some => 'data' }, 'content-type' => 'application/x-foo')
27
+ response = conn.post('/echo', { :some => 'data' }, 'content-type' => 'application/x-foo')
42
28
  assert_equal 'application/x-foo', response.headers['Content-Type']
43
29
  assert_equal({ :some => 'data' }, response.body)
44
30
  end
45
31
 
46
32
  def test_url_encoded_no_header
47
- response = @conn.post('/echo', { :fruit => %w[apples oranges] })
33
+ response = conn.post('/echo', { :fruit => %w[apples oranges] })
48
34
  assert_equal 'application/x-www-form-urlencoded', response.headers['Content-Type']
49
35
  assert_equal 'fruit%5B%5D=apples&fruit%5B%5D=oranges', response.body
50
36
  end
51
37
 
52
38
  def test_url_encoded_with_header
53
- response = @conn.post('/echo', {'a'=>123}, 'content-type' => 'application/x-www-form-urlencoded')
39
+ response = conn.post('/echo', {'a'=>123}, 'content-type' => 'application/x-www-form-urlencoded')
54
40
  assert_equal 'application/x-www-form-urlencoded', response.headers['Content-Type']
55
41
  assert_equal 'a=123', response.body
56
42
  end
57
43
 
58
44
  def test_url_encoded_nested
59
- response = @conn.post('/echo', { :user => {:name => 'Mislav', :web => 'mislav.net'} })
45
+ response = conn.post('/echo', { :user => {:name => 'Mislav', :web => 'mislav.net'} })
60
46
  assert_equal 'application/x-www-form-urlencoded', response.headers['Content-Type']
61
47
  expected = { 'user' => {'name' => 'Mislav', 'web' => 'mislav.net'} }
62
48
  assert_equal expected, Faraday::Utils.parse_nested_query(response.body)
63
49
  end
64
50
 
65
51
  def test_url_encoded_non_nested
66
- response = @conn.post('/echo', { :dimensions => ['date', 'location']}) do |req|
52
+ response = conn.post('/echo', { :dimensions => ['date', 'location']}) do |req|
67
53
  req.options.params_encoder = Faraday::FlatParamsEncoder
68
54
  end
69
55
  assert_equal 'application/x-www-form-urlencoded', response.headers['Content-Type']
@@ -74,24 +60,14 @@ class RequestMiddlewareTest < Faraday::TestCase
74
60
 
75
61
  def test_url_encoded_unicode
76
62
  err = capture_warnings {
77
- response = @conn.post('/echo', {:str => "eé cç aã aâ"})
63
+ response = conn.post('/echo', {:str => "eé cç aã aâ"})
78
64
  assert_equal "str=e%C3%A9+c%C3%A7+a%C3%A3+a%C3%A2", response.body
79
65
  }
80
66
  assert err.empty?, "stderr did include: #{err}"
81
67
  end
82
68
 
83
- def test_url_encoded_unicode_with_kcode_set
84
- with_utf8 do
85
- err = capture_warnings {
86
- response = @conn.post('/echo', {:str => "eé cç aã aâ"})
87
- assert_equal "str=e%C3%A9+c%C3%A7+a%C3%A3+a%C3%A2", response.body
88
- }
89
- assert err.empty?, "stderr did include: #{err}"
90
- end
91
- end
92
-
93
69
  def test_url_encoded_nested_keys
94
- response = @conn.post('/echo', {'a'=>{'b'=>{'c'=>['d']}}})
70
+ response = conn.post('/echo', {'a'=>{'b'=>{'c'=>['d']}}})
95
71
  assert_equal "a%5Bb%5D%5Bc%5D%5B%5D=d", response.body
96
72
  end
97
73
 
@@ -103,11 +79,12 @@ class RequestMiddlewareTest < Faraday::TestCase
103
79
  /name=\"b\[d\]\"/]
104
80
 
105
81
  payload = {:a => 1, :b => {:c => Faraday::UploadIO.new(__FILE__, 'text/x-ruby'), :d => 2}}
106
- response = @conn.post('/echo', payload)
82
+ response = conn.post('/echo', payload)
107
83
 
108
84
  assert_kind_of Faraday::CompositeReadIO, response.body
109
- assert_equal "multipart/form-data; boundary=%s" % Faraday::Request::Multipart::DEFAULT_BOUNDARY,
110
- response.headers['Content-Type']
85
+ assert response.headers['Content-Type'].start_with?(
86
+ "multipart/form-data; boundary=%s" % Faraday::Request::Multipart::DEFAULT_BOUNDARY_PREFIX,
87
+ )
111
88
 
112
89
  response.body.send(:ios).map{|io| io.read}.each do |io|
113
90
  if re = regexes.detect { |r| io =~ r }
@@ -125,11 +102,12 @@ class RequestMiddlewareTest < Faraday::TestCase
125
102
  /name=\"b\[\]\[d\]\"/]
126
103
 
127
104
  payload = {:a => 1, :b =>[{:c => Faraday::UploadIO.new(__FILE__, 'text/x-ruby'), :d => 2}]}
128
- response = @conn.post('/echo', payload)
105
+ response = conn.post('/echo', payload)
129
106
 
130
107
  assert_kind_of Faraday::CompositeReadIO, response.body
131
- assert_equal "multipart/form-data; boundary=%s" % Faraday::Request::Multipart::DEFAULT_BOUNDARY,
132
- response.headers['Content-Type']
108
+ assert response.headers['Content-Type'].start_with?(
109
+ "multipart/form-data; boundary=%s" % Faraday::Request::Multipart::DEFAULT_BOUNDARY_PREFIX,
110
+ )
133
111
 
134
112
  response.body.send(:ios).map{|io| io.read}.each do |io|
135
113
  if re = regexes.detect { |r| io =~ r }
@@ -139,4 +117,10 @@ class RequestMiddlewareTest < Faraday::TestCase
139
117
  assert_equal [], regexes
140
118
  end
141
119
 
120
+ def test_multipart_unique_boundary
121
+ payload = {:a => 1, :b =>[{:c => Faraday::UploadIO.new(__FILE__, 'text/x-ruby'), :d => 2}]}
122
+ response1 = conn.post('/echo', payload)
123
+ response2 = conn.post('/echo', payload)
124
+ assert response1.headers['Content-Type'] != response2.headers['Content-Type']
125
+ end
142
126
  end
@@ -23,7 +23,7 @@ class ResponseMiddlewareTest < Faraday::TestCase
23
23
  end
24
24
 
25
25
  def test_raises_not_found
26
- error = assert_raises Faraday::Error::ResourceNotFound do
26
+ error = assert_raises Faraday::ResourceNotFound do
27
27
  @conn.get('not-found')
28
28
  end
29
29
  assert_equal 'the server responded with status 404', error.message
@@ -31,7 +31,7 @@ class ResponseMiddlewareTest < Faraday::TestCase
31
31
  end
32
32
 
33
33
  def test_raises_error
34
- error = assert_raises Faraday::Error::ClientError do
34
+ error = assert_raises Faraday::ClientError do
35
35
  @conn.get('error')
36
36
  end
37
37
  assert_equal 'the server responded with status 500', error.message
@@ -63,10 +63,10 @@ class ResponseNoBodyMiddleWareTest < Faraday::TestCase
63
63
  end
64
64
 
65
65
  def test_204
66
- assert_equal nil, @conn.get('no_content').body
66
+ assert_nil @conn.get('no_content').body
67
67
  end
68
68
 
69
69
  def test_304
70
- assert_equal nil, @conn.get('not_modified').body
70
+ assert_nil @conn.get('not_modified').body
71
71
  end
72
72
  end
data/test/utils_test.rb CHANGED
@@ -1,6 +1,25 @@
1
1
  require File.expand_path('../helper', __FILE__)
2
2
 
3
3
  class TestUtils < Faraday::TestCase
4
+
5
+ # Headers parsing
6
+
7
+ def test_headers
8
+ "HTTP/1.x 500 OK\r\nContent-Type: text/html; charset=UTF-8\r\n" \
9
+ "HTTP/1.x 200 OK\r\nContent-Type: application/json; charset=UTF-8\r\n\r\n"
10
+ end
11
+
12
+ def test_headers_parsing_for_aggregated_responses
13
+ headers = Faraday::Utils::Headers.new()
14
+ headers.parse(test_headers)
15
+
16
+ result = headers.to_hash
17
+
18
+ assert_equal result["Content-Type"], "application/json; charset=UTF-8"
19
+ end
20
+
21
+ # URI parsing
22
+
4
23
  def setup
5
24
  @url = "http://example.com/abc"
6
25
  end
@@ -41,6 +60,15 @@ class TestUtils < Faraday::TestCase
41
60
  end
42
61
  end
43
62
 
63
+ def test_replace_header_hash
64
+ headers = Faraday::Utils::Headers.new('authorization' => 't0ps3cr3t!')
65
+ assert headers.include?('authorization')
66
+
67
+ headers.replace({'content-type' => 'text/plain'})
68
+
69
+ assert !headers.include?('authorization')
70
+ end
71
+
44
72
  def normalize(url)
45
73
  Faraday::Utils::URI(url)
46
74
  end
@@ -54,5 +82,17 @@ class TestUtils < Faraday::TestCase
54
82
  Faraday::Utils.default_uri_parser = old_parser
55
83
  end
56
84
  end
85
+
86
+ # YAML parsing
87
+
88
+ def test_headers_yaml_roundtrip
89
+ headers = Faraday::Utils::Headers.new('User-Agent' => 'safari', 'Content-type' => 'text/html')
90
+ result = YAML.load(headers.to_yaml)
91
+
92
+ assert result.include?('user-agent'), 'Unable to hydrate to a correct Headers'
93
+ assert result.include?('content-type'), 'Unable to hydrate to a correct Headers'
94
+ assert result['user-agent'] == 'safari', 'Unable to access rehydrated Headers'
95
+ assert result['content-type'] == 'text/html', 'Unable to access rehydrated Headers'
96
+ end
57
97
  end
58
98
 
metadata CHANGED
@@ -1,14 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: faraday
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.1
4
+ version: 0.17.1
5
5
  platform: ruby
6
6
  authors:
7
- - Rick Olson
7
+ - "@technoweenie"
8
+ - "@iMacTia"
9
+ - "@olleolleolle"
8
10
  autorequire:
9
11
  bindir: bin
10
12
  cert_chain: []
11
- date: 2015-01-07 00:00:00.000000000 Z
13
+ date: 2019-11-27 00:00:00.000000000 Z
12
14
  dependencies:
13
15
  - !ruby/object:Gem::Dependency
14
16
  name: multipart-post
@@ -30,34 +32,16 @@ dependencies:
30
32
  - - "<"
31
33
  - !ruby/object:Gem::Version
32
34
  version: '3'
33
- - !ruby/object:Gem::Dependency
34
- name: bundler
35
- requirement: !ruby/object:Gem::Requirement
36
- requirements:
37
- - - "~>"
38
- - !ruby/object:Gem::Version
39
- version: '1.0'
40
- type: :development
41
- prerelease: false
42
- version_requirements: !ruby/object:Gem::Requirement
43
- requirements:
44
- - - "~>"
45
- - !ruby/object:Gem::Version
46
- version: '1.0'
47
35
  description:
48
36
  email: technoweenie@gmail.com
49
37
  executables: []
50
38
  extensions: []
51
39
  extra_rdoc_files: []
52
40
  files:
53
- - ".document"
54
41
  - CHANGELOG.md
55
- - CONTRIBUTING.md
56
- - Gemfile
57
42
  - LICENSE.md
58
43
  - README.md
59
44
  - Rakefile
60
- - faraday.gemspec
61
45
  - lib/faraday.rb
62
46
  - lib/faraday/adapter.rb
63
47
  - lib/faraday/adapter/em_http.rb
@@ -74,6 +58,7 @@ files:
74
58
  - lib/faraday/adapter/typhoeus.rb
75
59
  - lib/faraday/autoload.rb
76
60
  - lib/faraday/connection.rb
61
+ - lib/faraday/deprecate.rb
77
62
  - lib/faraday/error.rb
78
63
  - lib/faraday/middleware.rb
79
64
  - lib/faraday/options.rb
@@ -92,15 +77,10 @@ files:
92
77
  - lib/faraday/response/raise_error.rb
93
78
  - lib/faraday/upload_io.rb
94
79
  - lib/faraday/utils.rb
95
- - script/cached-bundle
96
- - script/console
97
- - script/generate_certs
98
- - script/package
99
- - script/proxy-server
100
- - script/release
101
- - script/s3-put
102
- - script/server
103
- - script/test
80
+ - spec/faraday/deprecate_spec.rb
81
+ - spec/faraday/error_spec.rb
82
+ - spec/faraday/response/raise_error_spec.rb
83
+ - spec/spec_helper.rb
104
84
  - test/adapters/default_test.rb
105
85
  - test/adapters/em_http_test.rb
106
86
  - test/adapters/em_synchrony_test.rb
@@ -130,10 +110,14 @@ files:
130
110
  - test/response_middleware_test.rb
131
111
  - test/strawberry.rb
132
112
  - test/utils_test.rb
133
- homepage: https://github.com/lostisland/faraday
113
+ homepage: https://lostisland.github.io/faraday
134
114
  licenses:
135
115
  - MIT
136
- metadata: {}
116
+ metadata:
117
+ homepage_uri: https://lostisland.github.io/faraday
118
+ changelog_uri: https://github.com/lostisland/faraday/blob/master/CHANGELOG.md
119
+ source_code_uri: https://github.com/lostisland/faraday/
120
+ bug_tracker_uri: https://github.com/lostisland/faraday/issues
137
121
  post_install_message:
138
122
  rdoc_options: []
139
123
  require_paths:
@@ -142,44 +126,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
142
126
  requirements:
143
127
  - - ">="
144
128
  - !ruby/object:Gem::Version
145
- version: '0'
129
+ version: '1.9'
146
130
  required_rubygems_version: !ruby/object:Gem::Requirement
147
131
  requirements:
148
132
  - - ">="
149
133
  - !ruby/object:Gem::Version
150
- version: 1.3.5
134
+ version: '0'
151
135
  requirements: []
152
- rubyforge_project:
153
- rubygems_version: 2.2.2
136
+ rubygems_version: 3.0.3
154
137
  signing_key:
155
- specification_version: 2
138
+ specification_version: 4
156
139
  summary: HTTP/REST API client library.
157
- test_files:
158
- - test/adapters/default_test.rb
159
- - test/adapters/em_http_test.rb
160
- - test/adapters/em_synchrony_test.rb
161
- - test/adapters/excon_test.rb
162
- - test/adapters/httpclient_test.rb
163
- - test/adapters/integration.rb
164
- - test/adapters/logger_test.rb
165
- - test/adapters/net_http_persistent_test.rb
166
- - test/adapters/net_http_test.rb
167
- - test/adapters/patron_test.rb
168
- - test/adapters/rack_test.rb
169
- - test/adapters/test_middleware_test.rb
170
- - test/adapters/typhoeus_test.rb
171
- - test/authentication_middleware_test.rb
172
- - test/composite_read_io_test.rb
173
- - test/connection_test.rb
174
- - test/env_test.rb
175
- - test/helper.rb
176
- - test/live_server.rb
177
- - test/middleware/instrumentation_test.rb
178
- - test/middleware/retry_test.rb
179
- - test/middleware_stack_test.rb
180
- - test/options_test.rb
181
- - test/parameters_test.rb
182
- - test/request_middleware_test.rb
183
- - test/response_middleware_test.rb
184
- - test/strawberry.rb
185
- - test/utils_test.rb
140
+ test_files: []
data/.document DELETED
@@ -1,6 +0,0 @@
1
- CONTRIBUTING.md
2
- LICENSE.md
3
- README.md
4
- bin/*
5
- lib/**/*.rb
6
- test/**/*.rb
data/CONTRIBUTING.md DELETED
@@ -1,36 +0,0 @@
1
- ## Contributing
2
-
3
- You can run the test suite against a live server by running `script/test`. It
4
- automatically starts a test server in background. Only tests in
5
- `test/adapters/*_test.rb` require a server, though.
6
-
7
- ``` sh
8
- # run the whole suite
9
- $ script/test
10
-
11
- # run only specific files
12
- $ script/test excon typhoeus
13
-
14
- # run tests using SSL
15
- $ SSL=yes script/test
16
- ```
17
-
18
- We will accept middleware that:
19
-
20
- 1. is useful to a broader audience, but can be implemented relatively
21
- simple; and
22
- 2. which isn't already present in [faraday_middleware][] project.
23
-
24
- We will accept adapters that:
25
-
26
- 1. support SSL & streaming;
27
- 1. are proven and may have better performance than existing ones; or
28
- 2. if they have features not present in included adapters.
29
-
30
- We are pushing towards a 1.0 release, when we will have to follow [Semantic
31
- Versioning][semver]. If your patch includes changes to break compatibility,
32
- note that so we can add it to the [Changelog][].
33
-
34
- [semver]: http://semver.org/
35
- [changelog]: https://github.com/lostisland/faraday/wiki/Changelog
36
- [faraday_middleware]: https://github.com/lostisland/faraday_middleware/wiki
data/Gemfile DELETED
@@ -1,25 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- gem 'ffi-ncurses', '~> 0.3', :platforms => :jruby
4
- gem 'jruby-openssl', '~> 0.8.8', :platforms => :jruby
5
- gem 'rake'
6
-
7
- group :test do
8
- gem 'coveralls', :require => false
9
- gem 'em-http-request', '>= 1.1', :require => 'em-http'
10
- gem 'em-synchrony', '>= 1.0.3', :require => ['em-synchrony', 'em-synchrony/em-http']
11
- gem 'excon', '>= 0.27.4'
12
- gem 'httpclient', '>= 2.2'
13
- gem 'leftright', '>= 0.9', :require => false
14
- gem 'mime-types', '~> 1.25', :platforms => [:jruby, :ruby_18]
15
- gem 'minitest', '>= 5.0.5'
16
- gem 'net-http-persistent', '>= 2.9.4'
17
- gem 'patron', '>= 0.4.2', :platforms => :ruby
18
- gem 'rack-test', '>= 0.6', :require => 'rack/test'
19
- gem 'rest-client', '~> 1.6.0', :platforms => [:jruby, :ruby_18]
20
- gem 'simplecov'
21
- gem 'sinatra', '~> 1.3'
22
- gem 'typhoeus', '~> 0.3.3', :platforms => :ruby
23
- end
24
-
25
- gemspec
data/faraday.gemspec DELETED
@@ -1,34 +0,0 @@
1
- lib = "faraday"
2
- lib_file = File.expand_path("../lib/#{lib}.rb", __FILE__)
3
- File.read(lib_file) =~ /\bVERSION\s*=\s*["'](.+?)["']/
4
- version = $1
5
-
6
- Gem::Specification.new do |spec|
7
- spec.specification_version = 2 if spec.respond_to? :specification_version=
8
- spec.required_rubygems_version = '>= 1.3.5'
9
-
10
- spec.name = lib
11
- spec.version = version
12
-
13
- spec.summary = "HTTP/REST API client library."
14
-
15
- spec.authors = ["Rick Olson"]
16
- spec.email = 'technoweenie@gmail.com'
17
- spec.homepage = 'https://github.com/lostisland/faraday'
18
- spec.licenses = ['MIT']
19
-
20
- spec.add_dependency 'multipart-post', '>= 1.2', '< 3'
21
- spec.add_development_dependency 'bundler', '~> 1.0'
22
-
23
- spec.files = %w(.document CHANGELOG.md CONTRIBUTING.md Gemfile LICENSE.md README.md Rakefile)
24
- spec.files << "#{lib}.gemspec"
25
- spec.files += Dir.glob("lib/**/*.rb")
26
- spec.files += Dir.glob("test/**/*.{rb,txt}")
27
- spec.files += Dir.glob("script/*")
28
-
29
- dev_null = File.exist?('/dev/null') ? '/dev/null' : 'NUL'
30
- git_files = `git ls-files -z 2>#{dev_null}`
31
- spec.files &= git_files.split("\0") if $?.success?
32
-
33
- spec.test_files = Dir.glob("test/**/*.rb")
34
- end
data/script/cached-bundle DELETED
@@ -1,46 +0,0 @@
1
- #!/usr/bin/env bash
2
- # Usage: cached-bundle install --deployment
3
- #
4
- # After running `bundle`, caches the `./bundle` directory to S3.
5
- # On the next run, restores the cached directory before running `bundle`.
6
- # When `Gemfile` changes, the cache gets rebuilt.
7
- #
8
- # Requirements:
9
- # - Gemfile
10
- # - TRAVIS_REPO_SLUG
11
- # - TRAVIS_RUBY_VERSION
12
- # - AMAZON_S3_BUCKET
13
- # - script/s3-put
14
- # - bundle
15
- # - curl
16
- #
17
- # Author: Mislav Marohnić
18
-
19
- set -e
20
-
21
- compute_md5() {
22
- local output="$(openssl md5)"
23
- echo "${output##* }"
24
- }
25
-
26
- download() {
27
- curl --tcp-nodelay -qsfL "$1" -o "$2"
28
- }
29
-
30
- bundle_path="bundle"
31
- gemfile_hash="$(compute_md5 <"${BUNDLE_GEMFILE:-Gemfile}")"
32
- cache_name="${TRAVIS_RUBY_VERSION}-${gemfile_hash}.tgz"
33
- fetch_url="http://${AMAZON_S3_BUCKET}.s3.amazonaws.com/${TRAVIS_REPO_SLUG}/${cache_name}"
34
-
35
- if download "$fetch_url" "$cache_name"; then
36
- echo "Reusing cached bundle ${cache_name}"
37
- tar xzf "$cache_name"
38
- fi
39
-
40
- bundle "$@"
41
-
42
- if [ ! -f "$cache_name" ] && [ -n "$AMAZON_SECRET_ACCESS_KEY" ]; then
43
- echo "Caching \`${bundle_path}' to S3"
44
- tar czf "$cache_name" "$bundle_path"
45
- script/s3-put "$cache_name" "${AMAZON_S3_BUCKET}:${TRAVIS_REPO_SLUG}/${cache_name}"
46
- fi
data/script/console DELETED
@@ -1,7 +0,0 @@
1
- #!/usr/bin/env bash
2
- # Usage: script/console
3
- # Starts an IRB console with this library loaded.
4
-
5
- gemspec="$(ls *.gemspec | head -1)"
6
-
7
- exec bundle exec irb -r "${gemspec%.*}"