httpx 1.2.6 → 1.3.1

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 (59) hide show
  1. checksums.yaml +4 -4
  2. data/doc/release_notes/1_3_0.md +18 -0
  3. data/doc/release_notes/1_3_1.md +17 -0
  4. data/lib/httpx/adapters/datadog.rb +8 -4
  5. data/lib/httpx/adapters/faraday.rb +2 -1
  6. data/lib/httpx/adapters/webmock.rb +1 -1
  7. data/lib/httpx/connection/http1.rb +11 -7
  8. data/lib/httpx/connection/http2.rb +15 -11
  9. data/lib/httpx/connection.rb +51 -24
  10. data/lib/httpx/io/tcp.rb +1 -1
  11. data/lib/httpx/io/unix.rb +1 -1
  12. data/lib/httpx/options.rb +4 -7
  13. data/lib/httpx/plugins/aws_sdk_authentication.rb +3 -0
  14. data/lib/httpx/plugins/aws_sigv4.rb +5 -1
  15. data/lib/httpx/plugins/circuit_breaker.rb +10 -0
  16. data/lib/httpx/plugins/cookies.rb +9 -6
  17. data/lib/httpx/plugins/digest_auth.rb +3 -0
  18. data/lib/httpx/plugins/expect.rb +5 -0
  19. data/lib/httpx/plugins/follow_redirects.rb +65 -29
  20. data/lib/httpx/plugins/grpc.rb +2 -2
  21. data/lib/httpx/plugins/h2c.rb +1 -1
  22. data/lib/httpx/plugins/oauth.rb +1 -1
  23. data/lib/httpx/plugins/proxy/http.rb +9 -4
  24. data/lib/httpx/plugins/proxy/socks4.rb +1 -1
  25. data/lib/httpx/plugins/proxy/socks5.rb +1 -1
  26. data/lib/httpx/plugins/proxy.rb +24 -13
  27. data/lib/httpx/plugins/retries.rb +25 -4
  28. data/lib/httpx/plugins/ssrf_filter.rb +4 -1
  29. data/lib/httpx/pool/synch_pool.rb +93 -0
  30. data/lib/httpx/pool.rb +1 -1
  31. data/lib/httpx/request/body.rb +37 -41
  32. data/lib/httpx/request.rb +42 -13
  33. data/lib/httpx/resolver/https.rb +7 -5
  34. data/lib/httpx/resolver/native.rb +1 -1
  35. data/lib/httpx/resolver/resolver.rb +1 -1
  36. data/lib/httpx/resolver/system.rb +1 -1
  37. data/lib/httpx/response.rb +2 -2
  38. data/lib/httpx/session.rb +34 -19
  39. data/lib/httpx/timers.rb +1 -1
  40. data/lib/httpx/version.rb +1 -1
  41. data/sig/chainable.rbs +2 -2
  42. data/sig/connection/http1.rbs +2 -2
  43. data/sig/connection/http2.rbs +17 -17
  44. data/sig/connection.rbs +10 -4
  45. data/sig/httpx.rbs +3 -3
  46. data/sig/io/tcp.rbs +1 -1
  47. data/sig/io/unix.rbs +1 -1
  48. data/sig/options.rbs +1 -13
  49. data/sig/plugins/follow_redirects.rbs +1 -1
  50. data/sig/plugins/proxy/http.rbs +3 -0
  51. data/sig/plugins/proxy.rbs +2 -0
  52. data/sig/plugins/push_promise.rbs +3 -3
  53. data/sig/pool.rbs +1 -1
  54. data/sig/request/body.rbs +1 -3
  55. data/sig/request.rbs +2 -1
  56. data/sig/resolver/resolver.rbs +2 -2
  57. data/sig/response.rbs +1 -1
  58. data/sig/session.rbs +11 -6
  59. metadata +11 -6
data/sig/session.rbs CHANGED
@@ -15,7 +15,7 @@ module HTTPX
15
15
 
16
16
  def close: (*untyped) -> void
17
17
 
18
- def build_request: (verb, generic_uri, ?options) -> Request
18
+ def build_request: (verb verb, generic_uri uri, ?request_params params, ?Options options) -> Request
19
19
 
20
20
  def initialize: (?options) { (self) -> void } -> void
21
21
  | (?options) -> void
@@ -23,12 +23,17 @@ module HTTPX
23
23
  private
24
24
 
25
25
  def pool: -> Pool
26
+
26
27
  def on_response: (Request, response) -> void
28
+
27
29
  def on_promise: (untyped, untyped) -> void
30
+
28
31
  def fetch_response: (Request request, Array[Connection] connections, untyped options) -> response?
29
32
 
30
33
  def find_connection: (Request request, Array[Connection] connections, Options options) -> Connection
31
34
 
35
+ def deactivate_connection: (Request request, Array[Connection] connections, Options options) -> void
36
+
32
37
  def send_request: (Request request, Array[Connection] connections, ?Options options) -> void
33
38
 
34
39
  def set_connection_callbacks: (Connection connection, Array[Connection] connections, Options options, ?cloned: bool) -> void
@@ -37,11 +42,11 @@ module HTTPX
37
42
 
38
43
  def build_altsvc_connection: (Connection existing_connection, Array[Connection] connections, URI::Generic alt_origin, String origin, Hash[String, String] alt_params, Options options) -> (Connection & AltSvc::ConnectionMixin)?
39
44
 
40
- def build_requests: (verb, uri, options) -> Array[Request]
41
- | (Array[[verb, uri, options]], options) -> Array[Request]
42
- | (Array[[verb, uri]], options) -> Array[Request]
43
- | (verb, _Each[[uri, options]], Options) -> Array[Request]
44
- | (verb, _Each[uri], options) -> Array[Request]
45
+ def build_requests: (verb, uri, request_params) -> Array[Request]
46
+ | (Array[[verb, uri, request_params]], Hash[Symbol, untyped]) -> Array[Request]
47
+ | (Array[[verb, uri]], request_params) -> Array[Request]
48
+ | (verb, _Each[[uri, request_params]], Hash[Symbol, untyped]) -> Array[Request]
49
+ | (verb, _Each[uri], request_params) -> Array[Request]
45
50
 
46
51
  def init_connection: (http_uri uri, Options options) -> Connection
47
52
 
metadata CHANGED
@@ -1,29 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: httpx
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.6
4
+ version: 1.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tiago Cardoso
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-06-17 00:00:00.000000000 Z
11
+ date: 2024-08-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: http-2-next
14
+ name: http-2
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 1.0.3
19
+ version: 1.0.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: 1.0.3
26
+ version: 1.0.0
27
27
  description: A client library for making HTTP requests from Ruby.
28
28
  email:
29
29
  - cardoso_tiago@hotmail.com
@@ -144,6 +144,8 @@ extra_rdoc_files:
144
144
  - doc/release_notes/1_2_4.md
145
145
  - doc/release_notes/1_2_5.md
146
146
  - doc/release_notes/1_2_6.md
147
+ - doc/release_notes/1_3_0.md
148
+ - doc/release_notes/1_3_1.md
147
149
  files:
148
150
  - LICENSE.txt
149
151
  - README.md
@@ -259,6 +261,8 @@ files:
259
261
  - doc/release_notes/1_2_4.md
260
262
  - doc/release_notes/1_2_5.md
261
263
  - doc/release_notes/1_2_6.md
264
+ - doc/release_notes/1_3_0.md
265
+ - doc/release_notes/1_3_1.md
262
266
  - lib/httpx.rb
263
267
  - lib/httpx/adapters/datadog.rb
264
268
  - lib/httpx/adapters/faraday.rb
@@ -331,6 +335,7 @@ files:
331
335
  - lib/httpx/plugins/webdav.rb
332
336
  - lib/httpx/pmatch_extensions.rb
333
337
  - lib/httpx/pool.rb
338
+ - lib/httpx/pool/synch_pool.rb
334
339
  - lib/httpx/punycode.rb
335
340
  - lib/httpx/request.rb
336
341
  - lib/httpx/request/body.rb
@@ -475,7 +480,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
475
480
  - !ruby/object:Gem::Version
476
481
  version: '0'
477
482
  requirements: []
478
- rubygems_version: 3.5.3
483
+ rubygems_version: 3.4.10
479
484
  signing_key:
480
485
  specification_version: 4
481
486
  summary: HTTPX, to the future, and beyond