typhoeus 0.7.0.pre1 → 0.7.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.
- checksums.yaml +8 -8
- data/CHANGELOG.md +10 -2
- data/README.md +6 -4
- data/lib/typhoeus/hydra/stubbable.rb +2 -0
- data/lib/typhoeus/request/stubbable.rb +2 -0
- data/lib/typhoeus/response/informations.rb +1 -1
- data/lib/typhoeus/version.rb +1 -1
- data/spec/typhoeus/hydra/stubbable_spec.rb +20 -0
- data/spec/typhoeus/request/stubbable_spec.rb +18 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
N2YzYzcwNTg0NGRkNzIwOWM0MTJlZWM3OTU0NDU0MWFjMWIxMzY5Mw==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
MGY3YTAxZTUzNTdkYzVhZDlkZGJlZWQ0YWQwMjRmNmU5ZjBmODMzMw==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
MWYzMGQ5NzU4ODQ0MGE1MjdkMmU0NzE1N2I5Y2QwM2Q5MTA5ZDY2MzdiMWI3
|
10
|
+
YTNjMzZmYmMwOTQ5ZGMyNzczZDliNzQ1NzA5NTI3MWQ1MTUyODM2YjBkM2E5
|
11
|
+
YmU1OWZmN2EyNDI4ZTkzZTBhMzMzZGM5ZmZiZGM5MGQyMDM2MDM=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
MjliYzk1ZWI2NGRlYmYzOWI0NmQyZmU4ZTM4YzkwZmQyMTkwNzczNTg3YTVm
|
14
|
+
NmZlNDcxM2MyMDVjYWNhODA0YzM5ZDYzZWEyMDY2YTRhZGYwMzMxZTc2ODAy
|
15
|
+
MTYwOTc5NWEzM2QzNmQwNTFhNWEzMDkzMThhM2ZjNWVkNWY5MTY=
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,13 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
+
## 0.7.0
|
4
|
+
|
5
|
+
[Full Changelog](http://github.com/typhoeus/typhoeus/compare/v0.7.0.pre1...v0.7.0)
|
6
|
+
|
7
|
+
Bugfixes:
|
8
|
+
|
9
|
+
* Call on_headers and on_body when using stubbed responses.
|
10
|
+
|
3
11
|
## 0.7.0.pre1
|
4
12
|
|
5
13
|
[Full Changelog](http://github.com/typhoeus/typhoeus/compare/v0.6.9...v0.7.0.pre1)
|
@@ -7,7 +15,7 @@
|
|
7
15
|
Enhancements:
|
8
16
|
|
9
17
|
* Improving timeout behavior and documentation. `no_signal` is now set per default!
|
10
|
-
([Jonas Wagner](https://github.com/jwagner), [\#398](https://github.com/typhoeus/typhoeus/pull/398)
|
18
|
+
([Jonas Wagner](https://github.com/jwagner), [\#398](https://github.com/typhoeus/typhoeus/pull/398))
|
11
19
|
|
12
20
|
## 0.6.8
|
13
21
|
|
@@ -16,7 +24,7 @@ Enhancements:
|
|
16
24
|
Bugfixes:
|
17
25
|
|
18
26
|
* Fix Faraday 0.9 compatibility.
|
19
|
-
([Gleb Mazovetskiy](https://github.com/glebm), [\#357](https://github.com/typhoeus/typhoeus/pull/357)
|
27
|
+
([Gleb Mazovetskiy](https://github.com/glebm), [\#357](https://github.com/typhoeus/typhoeus/pull/357))
|
20
28
|
* Fix Request#hash for different key orders.
|
21
29
|
([Matthew Schulkind](https://github.com/mschulkind), [\#344](https://github.com/typhoeus/typhoeus/pull/344))
|
22
30
|
|
data/README.md
CHANGED
@@ -86,8 +86,10 @@ Typhoeus has some convenience methods for performing single HTTP requests. The a
|
|
86
86
|
Typhoeus.get("www.example.com")
|
87
87
|
Typhoeus.head("www.example.com")
|
88
88
|
Typhoeus.put("www.example.com/posts/1", body: "whoo, a body")
|
89
|
+
Typhoeus.patch("www.example.com/posts/1", body: "a new body")
|
89
90
|
Typhoeus.post("www.example.com/posts", body: { title: "test post", content: "this is my test"})
|
90
91
|
Typhoeus.delete("www.example.com/posts/1")
|
92
|
+
Typhoeus.options("www.example.com")
|
91
93
|
```
|
92
94
|
|
93
95
|
### Handling HTTP errors
|
@@ -149,7 +151,7 @@ Typhoeus will not store the complete response.
|
|
149
151
|
downloaded_file = File.open 'huge.iso', 'wb'
|
150
152
|
request = Typhoeus::Request.new("www.example.com/huge.iso")
|
151
153
|
request.on_headers do |response|
|
152
|
-
if
|
154
|
+
if response.code != 200
|
153
155
|
raise "Request failed"
|
154
156
|
end
|
155
157
|
end
|
@@ -189,9 +191,9 @@ How to get an array of response bodies back after executing a queue:
|
|
189
191
|
|
190
192
|
```ruby
|
191
193
|
hydra = Typhoeus::Hydra.new
|
192
|
-
requests = 10.times.map {
|
194
|
+
requests = 10.times.map {
|
193
195
|
request = Typhoeus::Request.new("www.example.com", followlocation: true)
|
194
|
-
hydra.queue(request)
|
196
|
+
hydra.queue(request)
|
195
197
|
request
|
196
198
|
}
|
197
199
|
hydra.run
|
@@ -204,7 +206,7 @@ responses = requests.map { |request|
|
|
204
206
|
|
205
207
|
```ruby
|
206
208
|
hydra = Typhoeus::Hydra.new
|
207
|
-
10.times do
|
209
|
+
10.times do
|
208
210
|
request = Typhoeus::Request.new("www.example.com", followlocation: true)
|
209
211
|
request.on_complete do |response|
|
210
212
|
#do_something_with response
|
@@ -16,6 +16,8 @@ module Typhoeus
|
|
16
16
|
# hydra.add(request)
|
17
17
|
def add(request)
|
18
18
|
if response = Expectation.response_for(request)
|
19
|
+
request.execute_headers_callbacks(response)
|
20
|
+
request.on_body.each{ |callback| callback.call(response.body, response) }
|
19
21
|
request.finish(response)
|
20
22
|
else
|
21
23
|
super
|
@@ -18,6 +18,8 @@ module Typhoeus
|
|
18
18
|
# @return [ Response ] The response.
|
19
19
|
def run
|
20
20
|
if response = Expectation.response_for(self)
|
21
|
+
execute_headers_callbacks(response)
|
22
|
+
self.on_body.each{ |callback| callback.call(response.body, response) }
|
21
23
|
finish(response)
|
22
24
|
else
|
23
25
|
super
|
@@ -110,7 +110,7 @@ module Typhoeus
|
|
110
110
|
# until the SSL/SSH connect/handshake to the remote
|
111
111
|
# host was completed. This time is most often very near
|
112
112
|
# to the pre transfer time, except for cases such as HTTP
|
113
|
-
#
|
113
|
+
# pipelining where the pretransfer time can be delayed
|
114
114
|
# due to waits in line for the pipeline and more.
|
115
115
|
#
|
116
116
|
# @example Get appconnect_time.
|
data/lib/typhoeus/version.rb
CHANGED
@@ -14,6 +14,26 @@ describe Typhoeus::Hydra::Stubbable do
|
|
14
14
|
end
|
15
15
|
|
16
16
|
context "when expectation found" do
|
17
|
+
it "calls on_headers callbacks" do
|
18
|
+
canary = :not_called
|
19
|
+
request.on_headers do
|
20
|
+
canary = :called
|
21
|
+
end
|
22
|
+
hydra.add(request)
|
23
|
+
hydra.run
|
24
|
+
expect(canary).to eq(:called)
|
25
|
+
end
|
26
|
+
|
27
|
+
it "calls on_body callbacks" do
|
28
|
+
canary = :not_called
|
29
|
+
request.on_body do
|
30
|
+
canary = :called
|
31
|
+
end
|
32
|
+
hydra.add(request)
|
33
|
+
hydra.run
|
34
|
+
expect(canary).to eq(:called)
|
35
|
+
end
|
36
|
+
|
17
37
|
it "finishes response" do
|
18
38
|
expect(request).to receive(:finish)
|
19
39
|
hydra.add(request)
|
@@ -13,6 +13,24 @@ describe Typhoeus::Request::Stubbable do
|
|
13
13
|
end
|
14
14
|
|
15
15
|
context "when expectation found" do
|
16
|
+
it "calls on_headers callbacks" do
|
17
|
+
canary = :not_called
|
18
|
+
request.on_headers do
|
19
|
+
canary = :called
|
20
|
+
end
|
21
|
+
request.run
|
22
|
+
expect(canary).to eq(:called)
|
23
|
+
end
|
24
|
+
|
25
|
+
it "calls on_body callbacks" do
|
26
|
+
canary = :not_called
|
27
|
+
request.on_body do
|
28
|
+
canary = :called
|
29
|
+
end
|
30
|
+
request.run
|
31
|
+
expect(canary).to eq(:called)
|
32
|
+
end
|
33
|
+
|
16
34
|
it "finishes request" do
|
17
35
|
expect(request).to receive(:finish)
|
18
36
|
request.run
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: typhoeus
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.7.0
|
4
|
+
version: 0.7.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David Balatero
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date:
|
13
|
+
date: 2015-01-08 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: ethon
|