httpx 1.2.6 → 1.3.1

Sign up to get free protection for your applications and to get access to all the features.
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