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.
- checksums.yaml +15 -0
- data/.gitignore +8 -0
- data/.rspec +4 -0
- data/.travis.yml +10 -0
- data/CHANGELOG.md +7 -1
- data/CONTRIBUTING.md +16 -0
- data/Guardfile +9 -0
- data/README.md +303 -1
- data/UPGRADE.md +55 -0
- data/lib/rack/typhoeus/middleware/params_decoder.rb +1 -1
- data/lib/rack/typhoeus/middleware/params_decoder/helper.rb +6 -2
- data/lib/typhoeus/adapters/faraday.rb +4 -1
- data/lib/typhoeus/easy_factory.rb +36 -15
- data/lib/typhoeus/hydra/before.rb +2 -1
- data/lib/typhoeus/hydra/cacheable.rb +1 -0
- data/lib/typhoeus/hydra/memoizable.rb +1 -0
- data/lib/typhoeus/hydra/queueable.rb +15 -3
- data/lib/typhoeus/request.rb +6 -2
- data/lib/typhoeus/request/marshal.rb +3 -2
- data/lib/typhoeus/response/informations.rb +4 -0
- data/lib/typhoeus/version.rb +1 -1
- data/perf/profile.rb +14 -0
- data/perf/vs_nethttp.rb +64 -0
- data/spec/rack/typhoeus/middleware/params_decoder/helper_spec.rb +132 -0
- data/spec/rack/typhoeus/middleware/params_decoder_spec.rb +31 -0
- data/spec/spec_helper.rb +35 -0
- data/spec/support/localhost_server.rb +94 -0
- data/spec/support/server.rb +108 -0
- data/spec/typhoeus/adapters/faraday_spec.rb +245 -0
- data/spec/typhoeus/config_spec.rb +15 -0
- data/spec/typhoeus/easy_factory_spec.rb +96 -0
- data/spec/typhoeus/errors/no_stub_spec.rb +13 -0
- data/spec/typhoeus/expectation_spec.rb +273 -0
- data/spec/typhoeus/hydra/addable_spec.rb +22 -0
- data/spec/typhoeus/hydra/before_spec.rb +97 -0
- data/spec/typhoeus/hydra/block_connection_spec.rb +18 -0
- data/spec/typhoeus/hydra/cacheable_spec.rb +68 -0
- data/spec/typhoeus/hydra/memoizable_spec.rb +53 -0
- data/spec/typhoeus/hydra/queueable_spec.rb +34 -0
- data/spec/typhoeus/hydra/runnable_spec.rb +155 -0
- data/spec/typhoeus/hydra/stubbable_spec.rb +28 -0
- data/spec/typhoeus/hydra_spec.rb +26 -0
- data/spec/typhoeus/pool_spec.rb +79 -0
- data/spec/typhoeus/request/actions_spec.rb +19 -0
- data/spec/typhoeus/request/before_spec.rb +92 -0
- data/spec/typhoeus/request/block_connection_spec.rb +75 -0
- data/spec/typhoeus/request/cacheable_spec.rb +80 -0
- data/spec/typhoeus/request/callbacks_spec.rb +91 -0
- data/spec/typhoeus/request/marshal_spec.rb +62 -0
- data/spec/typhoeus/request/memoizable_spec.rb +34 -0
- data/spec/typhoeus/request/operations_spec.rb +70 -0
- data/spec/typhoeus/request/responseable_spec.rb +13 -0
- data/spec/typhoeus/request/stubbable_spec.rb +27 -0
- data/spec/typhoeus/request_spec.rb +131 -0
- data/spec/typhoeus/response/header_spec.rb +97 -0
- data/spec/typhoeus/response/informations_spec.rb +218 -0
- data/spec/typhoeus/response/status_spec.rb +218 -0
- data/spec/typhoeus/response_spec.rb +81 -0
- data/spec/typhoeus_spec.rb +105 -0
- data/typhoeus.gemspec +25 -0
- 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.
|
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-
|
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.
|
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.
|
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
|
-
-
|
41
|
-
-
|
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/
|
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
|
-
-
|
78
|
-
-
|
79
|
-
-
|
80
|
-
-
|
81
|
-
-
|
82
|
-
-
|
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:
|
144
|
+
rubygems_version: 2.0.3
|
107
145
|
signing_key:
|
108
|
-
specification_version:
|
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
|