httpx 0.18.1 → 0.18.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: dc0ed6728252132961087b7747743f0011f2f8100eb9b242080b7ac29ce68752
4
- data.tar.gz: 68c3c8f592d2e7599b7a5dcca4e9f73e7d61aba743bacb17d4c276c404203f5e
3
+ metadata.gz: e2f0ac68d969d4462c03c28fa818fa055e4e3aabad5a599197df6cc912274673
4
+ data.tar.gz: '069b5100a14183e79a968f4bb69363304ce046d098d1283f934568ea0fc23e06'
5
5
  SHA512:
6
- metadata.gz: 162b4b96df5b3b76bccdbe5940ed09aac4dea1d4b019321b07f859912d5d9fb770080d69198c70e4fd69a745723e250bcfce34e76baa83fdf3352f63d0b14620
7
- data.tar.gz: 63099247e157ddd0b1f01bdbd459a51500b5bb7ac0a624a93c09958efbd10ec2c79027c5bb932ccacfa3335a8f9d0c7691b835ac30eabbe1ed6f7ced3a47421d
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.
@@ -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
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module HTTPX
4
- VERSION = "0.18.1"
4
+ VERSION = "0.18.2"
5
5
  end
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.1
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-23 00:00:00.000000000 Z
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/0_15_4.md
37
- - doc/release_notes/0_14_5.md
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/0_15_1.md
45
- - doc/release_notes/0_14_0.md
46
- - doc/release_notes/0_14_4.md
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/0_9_0.md
61
- - doc/release_notes/0_6_3.md
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/0_4_1.md
69
- - doc/release_notes/0_5_1.md
70
- - doc/release_notes/0_6_6.md
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/0_2_1.md
80
- - doc/release_notes/0_0_3.md
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/0_0_2.md
84
- - doc/release_notes/0_16_0.md
85
- - doc/release_notes/0_3_1.md
86
- - doc/release_notes/0_15_3.md
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.1.6
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: []