typhoeus 0.6.3 → 0.6.4

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 (61) hide show
  1. checksums.yaml +15 -0
  2. data/.gitignore +8 -0
  3. data/.rspec +4 -0
  4. data/.travis.yml +10 -0
  5. data/CHANGELOG.md +7 -1
  6. data/CONTRIBUTING.md +16 -0
  7. data/Guardfile +9 -0
  8. data/README.md +303 -1
  9. data/UPGRADE.md +55 -0
  10. data/lib/rack/typhoeus/middleware/params_decoder.rb +1 -1
  11. data/lib/rack/typhoeus/middleware/params_decoder/helper.rb +6 -2
  12. data/lib/typhoeus/adapters/faraday.rb +4 -1
  13. data/lib/typhoeus/easy_factory.rb +36 -15
  14. data/lib/typhoeus/hydra/before.rb +2 -1
  15. data/lib/typhoeus/hydra/cacheable.rb +1 -0
  16. data/lib/typhoeus/hydra/memoizable.rb +1 -0
  17. data/lib/typhoeus/hydra/queueable.rb +15 -3
  18. data/lib/typhoeus/request.rb +6 -2
  19. data/lib/typhoeus/request/marshal.rb +3 -2
  20. data/lib/typhoeus/response/informations.rb +4 -0
  21. data/lib/typhoeus/version.rb +1 -1
  22. data/perf/profile.rb +14 -0
  23. data/perf/vs_nethttp.rb +64 -0
  24. data/spec/rack/typhoeus/middleware/params_decoder/helper_spec.rb +132 -0
  25. data/spec/rack/typhoeus/middleware/params_decoder_spec.rb +31 -0
  26. data/spec/spec_helper.rb +35 -0
  27. data/spec/support/localhost_server.rb +94 -0
  28. data/spec/support/server.rb +108 -0
  29. data/spec/typhoeus/adapters/faraday_spec.rb +245 -0
  30. data/spec/typhoeus/config_spec.rb +15 -0
  31. data/spec/typhoeus/easy_factory_spec.rb +96 -0
  32. data/spec/typhoeus/errors/no_stub_spec.rb +13 -0
  33. data/spec/typhoeus/expectation_spec.rb +273 -0
  34. data/spec/typhoeus/hydra/addable_spec.rb +22 -0
  35. data/spec/typhoeus/hydra/before_spec.rb +97 -0
  36. data/spec/typhoeus/hydra/block_connection_spec.rb +18 -0
  37. data/spec/typhoeus/hydra/cacheable_spec.rb +68 -0
  38. data/spec/typhoeus/hydra/memoizable_spec.rb +53 -0
  39. data/spec/typhoeus/hydra/queueable_spec.rb +34 -0
  40. data/spec/typhoeus/hydra/runnable_spec.rb +155 -0
  41. data/spec/typhoeus/hydra/stubbable_spec.rb +28 -0
  42. data/spec/typhoeus/hydra_spec.rb +26 -0
  43. data/spec/typhoeus/pool_spec.rb +79 -0
  44. data/spec/typhoeus/request/actions_spec.rb +19 -0
  45. data/spec/typhoeus/request/before_spec.rb +92 -0
  46. data/spec/typhoeus/request/block_connection_spec.rb +75 -0
  47. data/spec/typhoeus/request/cacheable_spec.rb +80 -0
  48. data/spec/typhoeus/request/callbacks_spec.rb +91 -0
  49. data/spec/typhoeus/request/marshal_spec.rb +62 -0
  50. data/spec/typhoeus/request/memoizable_spec.rb +34 -0
  51. data/spec/typhoeus/request/operations_spec.rb +70 -0
  52. data/spec/typhoeus/request/responseable_spec.rb +13 -0
  53. data/spec/typhoeus/request/stubbable_spec.rb +27 -0
  54. data/spec/typhoeus/request_spec.rb +131 -0
  55. data/spec/typhoeus/response/header_spec.rb +97 -0
  56. data/spec/typhoeus/response/informations_spec.rb +218 -0
  57. data/spec/typhoeus/response/status_spec.rb +218 -0
  58. data/spec/typhoeus/response_spec.rb +81 -0
  59. data/spec/typhoeus_spec.rb +105 -0
  60. data/typhoeus.gemspec +25 -0
  61. metadata +101 -27
@@ -0,0 +1,218 @@
1
+ require 'spec_helper'
2
+
3
+ describe Typhoeus::Response::Status do
4
+ let(:response) { Typhoeus::Response.new(options) }
5
+ let(:options) { {} }
6
+
7
+ describe "timed_out?" do
8
+ context "when return code is operation_timedout" do
9
+ let(:options) { {:return_code => :operation_timedout} }
10
+
11
+ it "return true" do
12
+ expect(response).to be_timed_out
13
+ end
14
+ end
15
+
16
+ context "when return code is couldnt_connect" do
17
+ let(:options) { {:return_code => :couldnt_connect} }
18
+
19
+ it "return true" do
20
+ expect(response).to be_timed_out
21
+ end
22
+ end
23
+
24
+ context "when return code is not operation_timedout or couldnt_connect" do
25
+ let(:options) { {:return_code => 14} }
26
+
27
+ it "returns false" do
28
+ expect(response).to_not be_timed_out
29
+ end
30
+ end
31
+ end
32
+
33
+ describe "#status_message" do
34
+ context "when no header" do
35
+ it "returns nil" do
36
+ expect(response.status_message).to be_nil
37
+ end
38
+ end
39
+
40
+ context "when header" do
41
+ context "when no message" do
42
+ let(:options) { {:response_headers => "HTTP/1.1 200\r\n"} }
43
+
44
+ it "returns nil" do
45
+ expect(response.status_message).to be_nil
46
+ end
47
+ end
48
+
49
+ context "when messsage" do
50
+ let(:options) { {:response_headers => "HTTP/1.1 200 message\r\n"} }
51
+
52
+ it "returns message" do
53
+ expect(response.status_message).to eq("message")
54
+ end
55
+ end
56
+ end
57
+ end
58
+
59
+ describe "#http_version" do
60
+ context "when no header" do
61
+ it "returns nil" do
62
+ expect(response.http_version).to be_nil
63
+ end
64
+ end
65
+
66
+ context "when header" do
67
+ context "when no http version" do
68
+ let(:options) { {:response_headers => "HTTP OK"} }
69
+
70
+ it "returns nil" do
71
+ expect(response.http_version).to be_nil
72
+ end
73
+ end
74
+
75
+ context "when invalid http_version" do
76
+ let(:options) { {:response_headers => "HTTP foo/bar OK"} }
77
+
78
+ it "returns nil" do
79
+ expect(response.http_version).to be_nil
80
+ end
81
+ end
82
+
83
+ context "when valid http_version" do
84
+ let(:options) { {:response_headers => "HTTP/1.1 OK"} }
85
+
86
+ it "returns http_version" do
87
+ expect(response.http_version).to eq("1.1")
88
+ end
89
+ end
90
+ end
91
+ end
92
+
93
+ describe "#success?" do
94
+ context "when response code 200-299" do
95
+ let(:options) { {:return_code => return_code, :response_code => 201} }
96
+
97
+ context "when mock" do
98
+ before { response.mock = true }
99
+
100
+ context "when return_code :ok" do
101
+ let(:return_code) { :ok }
102
+
103
+ it "returns true" do
104
+ expect(response.success?).to be_true
105
+ end
106
+ end
107
+
108
+ context "when return_code nil" do
109
+ let(:return_code) { nil }
110
+
111
+ it "returns true" do
112
+ expect(response.success?).to be_true
113
+ end
114
+ end
115
+ end
116
+
117
+ context "when no mock" do
118
+ before { response.mock = nil }
119
+
120
+ context "when return_code :ok" do
121
+ let(:return_code) { :ok }
122
+
123
+ it "returns true" do
124
+ expect(response.success?).to be_true
125
+ end
126
+ end
127
+
128
+ context "when return_code nil" do
129
+ let(:return_code) { nil }
130
+
131
+ it "returns false" do
132
+ expect(response.success?).to be_false
133
+ end
134
+ end
135
+ end
136
+ end
137
+
138
+ context "when response code is not 200-299" do
139
+ let(:options) { {:return_code => :ok, :response_code => 500} }
140
+
141
+ it "returns false" do
142
+ expect(response.success?).to be_false
143
+ end
144
+ end
145
+ end
146
+
147
+ describe "#modified?" do
148
+ context "when response code 304" do
149
+ let(:options) { {:return_code => :ok, :response_code => 304} }
150
+
151
+ context "when mock" do
152
+ before { response.mock = true }
153
+
154
+ context "when return_code :ok" do
155
+ let(:return_code) { :ok }
156
+
157
+ it "returns false" do
158
+ expect(response.modified?).to be_false
159
+ end
160
+ end
161
+
162
+ context "when return_code nil" do
163
+ let(:return_code) { nil }
164
+
165
+ it "returns false" do
166
+ expect(response.modified?).to be_false
167
+ end
168
+ end
169
+ end
170
+
171
+ context "when no mock" do
172
+ before { response.mock = nil }
173
+
174
+ context "when return_code :ok" do
175
+ let(:return_code) { :ok }
176
+
177
+ it "returns false" do
178
+ expect(response.modified?).to be_false
179
+ end
180
+ end
181
+
182
+ context "when return_code nil" do
183
+ let(:return_code) { nil }
184
+
185
+ it "returns true" do
186
+ expect(response.modified?).to be_false
187
+ end
188
+ end
189
+ end
190
+ end
191
+
192
+ context "when response code is not 304" do
193
+ let(:options) { {:return_code => :ok, :response_code => 500} }
194
+
195
+ it "returns true" do
196
+ expect(response.modified?).to be_true
197
+ end
198
+ end
199
+ end
200
+
201
+ describe "#first_header_line" do
202
+ context "when multiple header" do
203
+ let(:options) { {:response_headers => "1\r\n\r\n2\r\nbla"} }
204
+
205
+ it "returns first line of last block" do
206
+ expect(response.method(:first_header_line).call).to eq("2")
207
+ end
208
+ end
209
+
210
+ context "when single header" do
211
+ let(:options) { {:response_headers => "1"} }
212
+
213
+ it "returns first line" do
214
+ expect(response.method(:first_header_line).call).to eq("1")
215
+ end
216
+ end
217
+ end
218
+ end
@@ -0,0 +1,81 @@
1
+ require 'spec_helper'
2
+
3
+ describe Typhoeus::Response do
4
+ let(:response) { Typhoeus::Response.new(options) }
5
+ let(:options) { {} }
6
+
7
+ describe ".new" do
8
+ context "when options" do
9
+ context "when return_code" do
10
+ let(:options) { {:return_code => 2} }
11
+
12
+ it "stores" do
13
+ expect(response.options[:return_code]).to be(2)
14
+ end
15
+ end
16
+
17
+ context "when headers" do
18
+ let(:options) { {:headers => {'A' => 'B'}} }
19
+
20
+ it "stores unmodified" do
21
+ expect(response.options[:headers]).to be(options[:headers])
22
+ end
23
+
24
+ it "sets @headers to a Typhoeus::Response::Header" do
25
+ expect(response.instance_variable_get(:@headers)).to be_a(Typhoeus::Response::Header)
26
+ end
27
+
28
+ it "has key" do
29
+ expect(response.headers['A']).to eq('B')
30
+ end
31
+ end
32
+ end
33
+ end
34
+
35
+ describe "#mock" do
36
+ context "when @mock" do
37
+ before { response.mock = true }
38
+
39
+ it "returns @mock" do
40
+ expect(response.mock).to be_true
41
+ end
42
+ end
43
+
44
+ context "when options[:mock]" do
45
+ let(:options) { {:mock => true} }
46
+
47
+ it "returns options[:mock]" do
48
+ expect(response.mock).to be_true
49
+ end
50
+ end
51
+
52
+ context "when @mock and options[:mock]" do
53
+ let(:options) { {:mock => 1} }
54
+ before { response.mock = 2 }
55
+
56
+ it "returns @mock" do
57
+ expect(response.mock).to be(2)
58
+ end
59
+ end
60
+ end
61
+
62
+ describe "#handled_response" do
63
+ let(:handled_response) { Typhoeus::Response.new }
64
+
65
+ context "when @handled_response" do
66
+ before { response.handled_response = handled_response }
67
+
68
+ it "returns @handled_response" do
69
+ expect(response.handled_response).to be(handled_response)
70
+ end
71
+ end
72
+
73
+ context "when @handled_response is nil" do
74
+ before { response.handled_response = nil }
75
+
76
+ it "returns response" do
77
+ expect(response.handled_response).to be(response)
78
+ end
79
+ end
80
+ end
81
+ end
@@ -0,0 +1,105 @@
1
+ require 'spec_helper'
2
+
3
+ describe Typhoeus do
4
+ before(:each) do
5
+ Typhoeus.configure { |config| config.verbose = false; config.block_connection = false }
6
+ end
7
+
8
+ describe ".configure" do
9
+ it "yields config" do
10
+ Typhoeus.configure do |config|
11
+ expect(config).to be_a(Typhoeus::Config)
12
+ end
13
+ end
14
+
15
+ it "sets values config" do
16
+ Typhoeus::Config.verbose = true
17
+ expect(Typhoeus::Config.verbose).to be_true
18
+ end
19
+ end
20
+
21
+ describe ".stub" do
22
+ let(:base_url) { "www.example.com" }
23
+
24
+ shared_examples "lazy response construction" do
25
+ it "calls the block to construct a response when a request matches the stub" do
26
+ expected_response = Typhoeus::Response.new
27
+ Typhoeus.stub(base_url) do |request|
28
+ expected_response
29
+ end
30
+
31
+ response = Typhoeus.get(base_url)
32
+
33
+ expect(response).to be(expected_response)
34
+ end
35
+ end
36
+
37
+ context "when no similar expectation exists" do
38
+ include_examples "lazy response construction"
39
+
40
+ it "returns expectation" do
41
+ expect(Typhoeus.stub(base_url)).to be_a(Typhoeus::Expectation)
42
+ end
43
+
44
+ it "adds expectation" do
45
+ Typhoeus.stub(:get, "")
46
+ expect(Typhoeus::Expectation.all).to have(1).item
47
+ end
48
+ end
49
+
50
+ context "when similar expectation exists" do
51
+ include_examples "lazy response construction"
52
+
53
+ let(:expectation) { Typhoeus::Expectation.new(base_url) }
54
+ before { Typhoeus::Expectation.all << expectation }
55
+
56
+ it "returns expectation" do
57
+ expect(Typhoeus.stub(base_url)).to be_a(Typhoeus::Expectation)
58
+ end
59
+
60
+ it "doesn't add expectation" do
61
+ Typhoeus.stub(base_url)
62
+ expect(Typhoeus::Expectation.all).to have(1).item
63
+ end
64
+ end
65
+ end
66
+
67
+ describe ".before" do
68
+ it "adds callback" do
69
+ Typhoeus.before { true }
70
+ expect(Typhoeus.before).to have(1).item
71
+ end
72
+ end
73
+
74
+ describe ".with_connection" do
75
+ it "executes block with block connection is false" do
76
+ Typhoeus.with_connection { expect(Typhoeus::Config.block_connection).to be(false) }
77
+ end
78
+
79
+ it "sets block connection back to previous value" do
80
+ Typhoeus::Config.block_connection = true
81
+ Typhoeus.with_connection {}
82
+ expect(Typhoeus::Config.block_connection).to be(true)
83
+ end
84
+
85
+ it "returns result of block" do
86
+ expect(Typhoeus.with_connection { "123" }).to eq("123")
87
+ end
88
+ end
89
+
90
+ [:get, :post, :put, :delete, :head, :patch, :options].each do |name|
91
+ describe ".#{name}" do
92
+ let(:response) { Typhoeus::Request.method(name).call("http://localhost:3001") }
93
+
94
+ it "returns ok" do
95
+ expect(response.return_code).to eq(:ok)
96
+ end
97
+
98
+ unless name == :head
99
+ it "makes #{name.to_s.upcase} requests" do
100
+ expect(response.response_body).to include("\"REQUEST_METHOD\":\"#{name.to_s.upcase}\"")
101
+ end
102
+ end
103
+ end
104
+ end
105
+ end
data/typhoeus.gemspec ADDED
@@ -0,0 +1,25 @@
1
+ # encoding: utf-8
2
+ lib = File.expand_path('../lib/', __FILE__)
3
+ $:.unshift lib unless $:.include?(lib)
4
+
5
+ require 'typhoeus/version'
6
+
7
+ Gem::Specification.new do |s|
8
+ s.name = "typhoeus"
9
+ s.version = Typhoeus::VERSION
10
+ s.platform = Gem::Platform::RUBY
11
+ s.authors = ["David Balatero", "Paul Dix", "Hans Hasselberg"]
12
+ s.email = ["hans.hasselberg@gmail.com"]
13
+ s.homepage = "https://github.com/typhoeus/typhoeus"
14
+ s.summary = "Parallel HTTP library on top of libcurl multi."
15
+ s.description = %q{Like a modern code version of the mythical beast with 100 serpent heads, Typhoeus runs HTTP requests in parallel while cleanly encapsulating handling logic.}
16
+
17
+ s.required_rubygems_version = ">= 1.3.6"
18
+ s.rubyforge_project = '[none]'
19
+
20
+ s.add_dependency('ethon', ["~> 0.6.0"])
21
+
22
+ s.files = `git ls-files`.split("\n")
23
+ s.test_files = `git ls-files -- spec/*`.split("\n")
24
+ s.require_path = 'lib'
25
+ end
metadata CHANGED
@@ -1,8 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: typhoeus
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.3
5
- prerelease:
4
+ version: 0.6.4
6
5
  platform: ruby
7
6
  authors:
8
7
  - David Balatero
@@ -11,24 +10,22 @@ authors:
11
10
  autorequire:
12
11
  bindir: bin
13
12
  cert_chain: []
14
- date: 2013-04-09 00:00:00.000000000 Z
13
+ date: 2013-08-11 00:00:00.000000000 Z
15
14
  dependencies:
16
15
  - !ruby/object:Gem::Dependency
17
16
  name: ethon
18
17
  requirement: !ruby/object:Gem::Requirement
19
- none: false
20
18
  requirements:
21
19
  - - ~>
22
20
  - !ruby/object:Gem::Version
23
- version: 0.5.11
21
+ version: 0.6.0
24
22
  type: :runtime
25
23
  prerelease: false
26
24
  version_requirements: !ruby/object:Gem::Requirement
27
- none: false
28
25
  requirements:
29
26
  - - ~>
30
27
  - !ruby/object:Gem::Version
31
- version: 0.5.11
28
+ version: 0.6.0
32
29
  description: Like a modern code version of the mythical beast with 100 serpent heads,
33
30
  Typhoeus runs HTTP requests in parallel while cleanly encapsulating handling logic.
34
31
  email:
@@ -37,16 +34,29 @@ executables: []
37
34
  extensions: []
38
35
  extra_rdoc_files: []
39
36
  files:
40
- - lib/rack/typhoeus/middleware/params_decoder/helper.rb
41
- - lib/rack/typhoeus/middleware/params_decoder.rb
37
+ - .gitignore
38
+ - .rspec
39
+ - .travis.yml
40
+ - CHANGELOG.md
41
+ - CONTRIBUTING.md
42
+ - Gemfile
43
+ - Guardfile
44
+ - LICENSE
45
+ - README.md
46
+ - Rakefile
47
+ - UPGRADE.md
42
48
  - lib/rack/typhoeus.rb
49
+ - lib/rack/typhoeus/middleware/params_decoder.rb
50
+ - lib/rack/typhoeus/middleware/params_decoder/helper.rb
51
+ - lib/typhoeus.rb
43
52
  - lib/typhoeus/adapters/faraday.rb
44
53
  - lib/typhoeus/config.rb
45
54
  - lib/typhoeus/easy_factory.rb
55
+ - lib/typhoeus/errors.rb
46
56
  - lib/typhoeus/errors/no_stub.rb
47
57
  - lib/typhoeus/errors/typhoeus_error.rb
48
- - lib/typhoeus/errors.rb
49
58
  - lib/typhoeus/expectation.rb
59
+ - lib/typhoeus/hydra.rb
50
60
  - lib/typhoeus/hydra/addable.rb
51
61
  - lib/typhoeus/hydra/before.rb
52
62
  - lib/typhoeus/hydra/block_connection.rb
@@ -55,9 +65,9 @@ files:
55
65
  - lib/typhoeus/hydra/queueable.rb
56
66
  - lib/typhoeus/hydra/runnable.rb
57
67
  - lib/typhoeus/hydra/stubbable.rb
58
- - lib/typhoeus/hydra.rb
59
68
  - lib/typhoeus/pool.rb
60
69
  - lib/typhoeus/railtie.rb
70
+ - lib/typhoeus/request.rb
61
71
  - lib/typhoeus/request/actions.rb
62
72
  - lib/typhoeus/request/before.rb
63
73
  - lib/typhoeus/request/block_connection.rb
@@ -68,43 +78,107 @@ files:
68
78
  - lib/typhoeus/request/operations.rb
69
79
  - lib/typhoeus/request/responseable.rb
70
80
  - lib/typhoeus/request/stubbable.rb
71
- - lib/typhoeus/request.rb
81
+ - lib/typhoeus/response.rb
72
82
  - lib/typhoeus/response/header.rb
73
83
  - lib/typhoeus/response/informations.rb
74
84
  - lib/typhoeus/response/status.rb
75
- - lib/typhoeus/response.rb
76
85
  - lib/typhoeus/version.rb
77
- - lib/typhoeus.rb
78
- - CHANGELOG.md
79
- - Gemfile
80
- - LICENSE
81
- - README.md
82
- - Rakefile
86
+ - perf/profile.rb
87
+ - perf/vs_nethttp.rb
88
+ - spec/rack/typhoeus/middleware/params_decoder/helper_spec.rb
89
+ - spec/rack/typhoeus/middleware/params_decoder_spec.rb
90
+ - spec/spec_helper.rb
91
+ - spec/support/localhost_server.rb
92
+ - spec/support/server.rb
93
+ - spec/typhoeus/adapters/faraday_spec.rb
94
+ - spec/typhoeus/config_spec.rb
95
+ - spec/typhoeus/easy_factory_spec.rb
96
+ - spec/typhoeus/errors/no_stub_spec.rb
97
+ - spec/typhoeus/expectation_spec.rb
98
+ - spec/typhoeus/hydra/addable_spec.rb
99
+ - spec/typhoeus/hydra/before_spec.rb
100
+ - spec/typhoeus/hydra/block_connection_spec.rb
101
+ - spec/typhoeus/hydra/cacheable_spec.rb
102
+ - spec/typhoeus/hydra/memoizable_spec.rb
103
+ - spec/typhoeus/hydra/queueable_spec.rb
104
+ - spec/typhoeus/hydra/runnable_spec.rb
105
+ - spec/typhoeus/hydra/stubbable_spec.rb
106
+ - spec/typhoeus/hydra_spec.rb
107
+ - spec/typhoeus/pool_spec.rb
108
+ - spec/typhoeus/request/actions_spec.rb
109
+ - spec/typhoeus/request/before_spec.rb
110
+ - spec/typhoeus/request/block_connection_spec.rb
111
+ - spec/typhoeus/request/cacheable_spec.rb
112
+ - spec/typhoeus/request/callbacks_spec.rb
113
+ - spec/typhoeus/request/marshal_spec.rb
114
+ - spec/typhoeus/request/memoizable_spec.rb
115
+ - spec/typhoeus/request/operations_spec.rb
116
+ - spec/typhoeus/request/responseable_spec.rb
117
+ - spec/typhoeus/request/stubbable_spec.rb
118
+ - spec/typhoeus/request_spec.rb
119
+ - spec/typhoeus/response/header_spec.rb
120
+ - spec/typhoeus/response/informations_spec.rb
121
+ - spec/typhoeus/response/status_spec.rb
122
+ - spec/typhoeus/response_spec.rb
123
+ - spec/typhoeus_spec.rb
124
+ - typhoeus.gemspec
83
125
  homepage: https://github.com/typhoeus/typhoeus
84
126
  licenses: []
127
+ metadata: {}
85
128
  post_install_message:
86
129
  rdoc_options: []
87
130
  require_paths:
88
131
  - lib
89
132
  required_ruby_version: !ruby/object:Gem::Requirement
90
- none: false
91
133
  requirements:
92
134
  - - ! '>='
93
135
  - !ruby/object:Gem::Version
94
136
  version: '0'
95
- segments:
96
- - 0
97
- hash: 3937709754755965055
98
137
  required_rubygems_version: !ruby/object:Gem::Requirement
99
- none: false
100
138
  requirements:
101
139
  - - ! '>='
102
140
  - !ruby/object:Gem::Version
103
141
  version: 1.3.6
104
142
  requirements: []
105
143
  rubyforge_project: ! '[none]'
106
- rubygems_version: 1.8.23
144
+ rubygems_version: 2.0.3
107
145
  signing_key:
108
- specification_version: 3
146
+ specification_version: 4
109
147
  summary: Parallel HTTP library on top of libcurl multi.
110
- test_files: []
148
+ test_files:
149
+ - spec/rack/typhoeus/middleware/params_decoder/helper_spec.rb
150
+ - spec/rack/typhoeus/middleware/params_decoder_spec.rb
151
+ - spec/spec_helper.rb
152
+ - spec/support/localhost_server.rb
153
+ - spec/support/server.rb
154
+ - spec/typhoeus/adapters/faraday_spec.rb
155
+ - spec/typhoeus/config_spec.rb
156
+ - spec/typhoeus/easy_factory_spec.rb
157
+ - spec/typhoeus/errors/no_stub_spec.rb
158
+ - spec/typhoeus/expectation_spec.rb
159
+ - spec/typhoeus/hydra/addable_spec.rb
160
+ - spec/typhoeus/hydra/before_spec.rb
161
+ - spec/typhoeus/hydra/block_connection_spec.rb
162
+ - spec/typhoeus/hydra/cacheable_spec.rb
163
+ - spec/typhoeus/hydra/memoizable_spec.rb
164
+ - spec/typhoeus/hydra/queueable_spec.rb
165
+ - spec/typhoeus/hydra/runnable_spec.rb
166
+ - spec/typhoeus/hydra/stubbable_spec.rb
167
+ - spec/typhoeus/hydra_spec.rb
168
+ - spec/typhoeus/pool_spec.rb
169
+ - spec/typhoeus/request/actions_spec.rb
170
+ - spec/typhoeus/request/before_spec.rb
171
+ - spec/typhoeus/request/block_connection_spec.rb
172
+ - spec/typhoeus/request/cacheable_spec.rb
173
+ - spec/typhoeus/request/callbacks_spec.rb
174
+ - spec/typhoeus/request/marshal_spec.rb
175
+ - spec/typhoeus/request/memoizable_spec.rb
176
+ - spec/typhoeus/request/operations_spec.rb
177
+ - spec/typhoeus/request/responseable_spec.rb
178
+ - spec/typhoeus/request/stubbable_spec.rb
179
+ - spec/typhoeus/request_spec.rb
180
+ - spec/typhoeus/response/header_spec.rb
181
+ - spec/typhoeus/response/informations_spec.rb
182
+ - spec/typhoeus/response/status_spec.rb
183
+ - spec/typhoeus/response_spec.rb
184
+ - spec/typhoeus_spec.rb