httpx 0.18.1 → 0.18.2
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 +4 -4
- data/README.md +4 -3
- data/doc/release_notes/0_18_2.md +10 -0
- data/lib/httpx/selector.rb +7 -0
- data/lib/httpx/version.rb +1 -1
- metadata +53 -51
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e2f0ac68d969d4462c03c28fa818fa055e4e3aabad5a599197df6cc912274673
|
4
|
+
data.tar.gz: '069b5100a14183e79a968f4bb69363304ce046d098d1283f934568ea0fc23e06'
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bddcf91c4cd851204ff789798bc8745e6e7f2b39face3ae77c83de4aa8be4de278f24a0ce1405f5e142f2f358fbf78472a5a816ae315ac43574c81adb6b82838
|
7
|
+
data.tar.gz: f9d992536ae6e464833dbe05c6a884ba373f84d90e42657bd18bab9fc69288561361041563dbe26dee92e9b9f337ee57d7eb7b9f7586abe705905184cd57f9e3
|
data/README.md
CHANGED
@@ -45,7 +45,7 @@ response = HTTPX.get("https://nghttp2.org")
|
|
45
45
|
puts response.status #=> 200
|
46
46
|
body = response.body
|
47
47
|
puts body #=> #<HTTPX::Response ...
|
48
|
-
```
|
48
|
+
```
|
49
49
|
|
50
50
|
You can also send as many requests as you want simultaneously:
|
51
51
|
|
@@ -79,7 +79,7 @@ In Ruby, HTTP client implementations are a known cheap commodity. Why this one?
|
|
79
79
|
|
80
80
|
### Concurrency
|
81
81
|
|
82
|
-
This library supports HTTP/2 seamlessly (which means, if the request is secure, and the server support ALPN negotiation AND HTTP/2, the request will be made through HTTP/2). If you pass multiple URIs, and they can utilize the same connection, they will run concurrently in it.
|
82
|
+
This library supports HTTP/2 seamlessly (which means, if the request is secure, and the server support ALPN negotiation AND HTTP/2, the request will be made through HTTP/2). If you pass multiple URIs, and they can utilize the same connection, they will run concurrently in it.
|
83
83
|
|
84
84
|
However if the server supports HTTP/1.1, it will try to use HTTP pipelining, falling back to 1 request at a time if the server doesn't support it (if the server support Keep-Alive connections, it will reuse the same connection).
|
85
85
|
|
@@ -137,7 +137,8 @@ In order to use HTTP/2 under JRuby, [check this link](https://gitlab.com/honeyry
|
|
137
137
|
|
138
138
|
### Known bugs
|
139
139
|
|
140
|
-
Doesn't work with ruby 2.4.0 for Windows (see [#36](https://gitlab.com/honeyryderchuck/httpx/issues/36)).
|
140
|
+
* Doesn't work with ruby 2.4.0 for Windows (see [#36](https://gitlab.com/honeyryderchuck/httpx/issues/36)).
|
141
|
+
* Using `total_timeout` along with the `:persistent` plugin [does not work as you might expect](https://gitlab.com/honeyryderchuck/httpx/-/wikis/Timeouts#total_timeout).
|
141
142
|
|
142
143
|
## Contributing
|
143
144
|
|
@@ -0,0 +1,10 @@
|
|
1
|
+
# 0.18.2
|
2
|
+
|
3
|
+
## Bugfixes
|
4
|
+
|
5
|
+
* A bug was reported and fixed, whereby a persistent connection with a `:total_timeout` set was triggering the timeout and leaving the process looping indefinitely.
|
6
|
+
|
7
|
+
|
8
|
+
## Chore
|
9
|
+
|
10
|
+
The quirk of using the `:persistent` plugin with `:total_timeout` has been documented: https://gitlab.com/honeyryderchuck/httpx/-/wikis/Timeouts#total_timeout.
|
data/lib/httpx/selector.rb
CHANGED
@@ -117,6 +117,13 @@ class HTTPX::Selector
|
|
117
117
|
end
|
118
118
|
|
119
119
|
def select(interval, &block)
|
120
|
+
# do not cause an infinite loop here.
|
121
|
+
#
|
122
|
+
# this may happen if timeout calculation actually triggered an error which causes
|
123
|
+
# the connections to be reaped (such as the total timeout error) before #select
|
124
|
+
# gets called.
|
125
|
+
return if interval.nil? && @selectables.empty?
|
126
|
+
|
120
127
|
return select_one(interval, &block) if @selectables.size == 1
|
121
128
|
|
122
129
|
select_many(interval, &block)
|
data/lib/httpx/version.rb
CHANGED
metadata
CHANGED
@@ -1,24 +1,24 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: httpx
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.18.
|
4
|
+
version: 0.18.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tiago Cardoso
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-12-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: http-2-next
|
15
|
-
prerelease: false
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
16
|
requirements:
|
18
17
|
- - ">="
|
19
18
|
- !ruby/object:Gem::Version
|
20
19
|
version: 0.4.1
|
21
20
|
type: :runtime
|
21
|
+
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - ">="
|
@@ -33,59 +33,60 @@ extra_rdoc_files:
|
|
33
33
|
- LICENSE.txt
|
34
34
|
- README.md
|
35
35
|
- doc/release_notes/0_0_1.md
|
36
|
-
- doc/release_notes/
|
37
|
-
- doc/release_notes/
|
38
|
-
- doc/release_notes/0_18_1.md
|
39
|
-
- doc/release_notes/0_1_0.md
|
40
|
-
- doc/release_notes/0_0_5.md
|
41
|
-
- doc/release_notes/0_15_0.md
|
42
|
-
- doc/release_notes/0_14_1.md
|
36
|
+
- doc/release_notes/0_0_2.md
|
37
|
+
- doc/release_notes/0_0_3.md
|
43
38
|
- doc/release_notes/0_0_4.md
|
44
|
-
- doc/release_notes/
|
45
|
-
- doc/release_notes/
|
46
|
-
- doc/release_notes/
|
47
|
-
- doc/release_notes/0_18_0.md
|
48
|
-
- doc/release_notes/0_6_5.md
|
49
|
-
- doc/release_notes/0_13_0.md
|
50
|
-
- doc/release_notes/0_6_1.md
|
51
|
-
- doc/release_notes/0_11_2.md
|
52
|
-
- doc/release_notes/0_7_0.md
|
53
|
-
- doc/release_notes/0_6_0.md
|
39
|
+
- doc/release_notes/0_0_5.md
|
40
|
+
- doc/release_notes/0_10_0.md
|
41
|
+
- doc/release_notes/0_10_1.md
|
54
42
|
- doc/release_notes/0_10_2.md
|
43
|
+
- doc/release_notes/0_11_0.md
|
44
|
+
- doc/release_notes/0_11_1.md
|
45
|
+
- doc/release_notes/0_11_2.md
|
55
46
|
- doc/release_notes/0_11_3.md
|
56
|
-
- doc/release_notes/0_8_2.md
|
57
|
-
- doc/release_notes/0_6_4.md
|
58
|
-
- doc/release_notes/0_13_1.md
|
59
47
|
- doc/release_notes/0_12_0.md
|
60
|
-
- doc/release_notes/
|
61
|
-
- doc/release_notes/
|
62
|
-
- doc/release_notes/0_10_1.md
|
63
|
-
- doc/release_notes/0_11_0.md
|
64
|
-
- doc/release_notes/0_8_1.md
|
65
|
-
- doc/release_notes/0_5_0.md
|
66
|
-
- doc/release_notes/0_6_7.md
|
48
|
+
- doc/release_notes/0_13_0.md
|
49
|
+
- doc/release_notes/0_13_1.md
|
67
50
|
- doc/release_notes/0_13_2.md
|
68
|
-
- doc/release_notes/
|
69
|
-
- doc/release_notes/
|
70
|
-
- doc/release_notes/
|
71
|
-
- doc/release_notes/0_4_0.md
|
72
|
-
- doc/release_notes/0_6_2.md
|
73
|
-
- doc/release_notes/0_10_0.md
|
74
|
-
- doc/release_notes/0_11_1.md
|
75
|
-
- doc/release_notes/0_8_0.md
|
76
|
-
- doc/release_notes/0_3_0.md
|
77
|
-
- doc/release_notes/0_15_2.md
|
51
|
+
- doc/release_notes/0_14_0.md
|
52
|
+
- doc/release_notes/0_14_1.md
|
53
|
+
- doc/release_notes/0_14_2.md
|
78
54
|
- doc/release_notes/0_14_3.md
|
79
|
-
- doc/release_notes/
|
80
|
-
- doc/release_notes/
|
55
|
+
- doc/release_notes/0_14_4.md
|
56
|
+
- doc/release_notes/0_14_5.md
|
57
|
+
- doc/release_notes/0_15_0.md
|
58
|
+
- doc/release_notes/0_15_1.md
|
59
|
+
- doc/release_notes/0_15_2.md
|
60
|
+
- doc/release_notes/0_15_3.md
|
61
|
+
- doc/release_notes/0_15_4.md
|
62
|
+
- doc/release_notes/0_16_0.md
|
81
63
|
- doc/release_notes/0_16_1.md
|
82
64
|
- doc/release_notes/0_17_0.md
|
83
|
-
- doc/release_notes/
|
84
|
-
- doc/release_notes/
|
85
|
-
- doc/release_notes/
|
86
|
-
- doc/release_notes/
|
87
|
-
- doc/release_notes/0_14_2.md
|
65
|
+
- doc/release_notes/0_18_0.md
|
66
|
+
- doc/release_notes/0_18_1.md
|
67
|
+
- doc/release_notes/0_18_2.md
|
68
|
+
- doc/release_notes/0_1_0.md
|
88
69
|
- doc/release_notes/0_2_0.md
|
70
|
+
- doc/release_notes/0_2_1.md
|
71
|
+
- doc/release_notes/0_3_0.md
|
72
|
+
- doc/release_notes/0_3_1.md
|
73
|
+
- doc/release_notes/0_4_0.md
|
74
|
+
- doc/release_notes/0_4_1.md
|
75
|
+
- doc/release_notes/0_5_0.md
|
76
|
+
- doc/release_notes/0_5_1.md
|
77
|
+
- doc/release_notes/0_6_0.md
|
78
|
+
- doc/release_notes/0_6_1.md
|
79
|
+
- doc/release_notes/0_6_2.md
|
80
|
+
- doc/release_notes/0_6_3.md
|
81
|
+
- doc/release_notes/0_6_4.md
|
82
|
+
- doc/release_notes/0_6_5.md
|
83
|
+
- doc/release_notes/0_6_6.md
|
84
|
+
- doc/release_notes/0_6_7.md
|
85
|
+
- doc/release_notes/0_7_0.md
|
86
|
+
- doc/release_notes/0_8_0.md
|
87
|
+
- doc/release_notes/0_8_1.md
|
88
|
+
- doc/release_notes/0_8_2.md
|
89
|
+
- doc/release_notes/0_9_0.md
|
89
90
|
files:
|
90
91
|
- LICENSE.txt
|
91
92
|
- README.md
|
@@ -121,6 +122,7 @@ files:
|
|
121
122
|
- doc/release_notes/0_17_0.md
|
122
123
|
- doc/release_notes/0_18_0.md
|
123
124
|
- doc/release_notes/0_18_1.md
|
125
|
+
- doc/release_notes/0_18_2.md
|
124
126
|
- doc/release_notes/0_1_0.md
|
125
127
|
- doc/release_notes/0_2_0.md
|
126
128
|
- doc/release_notes/0_2_1.md
|
@@ -303,7 +305,7 @@ metadata:
|
|
303
305
|
source_code_uri: https://gitlab.com/honeyryderchuck/httpx
|
304
306
|
homepage_uri: https://honeyryderchuck.gitlab.io/httpx/
|
305
307
|
rubygems_mfa_required: 'true'
|
306
|
-
post_install_message:
|
308
|
+
post_install_message:
|
307
309
|
rdoc_options: []
|
308
310
|
require_paths:
|
309
311
|
- lib
|
@@ -318,8 +320,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
318
320
|
- !ruby/object:Gem::Version
|
319
321
|
version: '0'
|
320
322
|
requirements: []
|
321
|
-
rubygems_version: 3.
|
322
|
-
signing_key:
|
323
|
+
rubygems_version: 3.2.22
|
324
|
+
signing_key:
|
323
325
|
specification_version: 4
|
324
326
|
summary: HTTPX, to the future, and beyond
|
325
327
|
test_files: []
|