httpx 1.4.4 → 1.5.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.
Files changed (93) hide show
  1. checksums.yaml +4 -4
  2. data/doc/release_notes/1_5_0.md +126 -0
  3. data/lib/httpx/adapters/datadog.rb +24 -3
  4. data/lib/httpx/adapters/webmock.rb +1 -0
  5. data/lib/httpx/buffer.rb +16 -5
  6. data/lib/httpx/connection/http1.rb +8 -9
  7. data/lib/httpx/connection/http2.rb +48 -24
  8. data/lib/httpx/connection.rb +36 -19
  9. data/lib/httpx/errors.rb +2 -11
  10. data/lib/httpx/headers.rb +24 -23
  11. data/lib/httpx/io/ssl.rb +2 -1
  12. data/lib/httpx/io/tcp.rb +9 -7
  13. data/lib/httpx/io/unix.rb +1 -1
  14. data/lib/httpx/loggable.rb +13 -1
  15. data/lib/httpx/options.rb +63 -48
  16. data/lib/httpx/parser/http1.rb +1 -1
  17. data/lib/httpx/plugins/aws_sigv4.rb +1 -0
  18. data/lib/httpx/plugins/callbacks.rb +19 -6
  19. data/lib/httpx/plugins/circuit_breaker.rb +4 -3
  20. data/lib/httpx/plugins/cookies/jar.rb +0 -2
  21. data/lib/httpx/plugins/cookies/set_cookie_parser.rb +7 -4
  22. data/lib/httpx/plugins/cookies.rb +4 -4
  23. data/lib/httpx/plugins/follow_redirects.rb +4 -2
  24. data/lib/httpx/plugins/grpc/call.rb +1 -1
  25. data/lib/httpx/plugins/h2c.rb +7 -1
  26. data/lib/httpx/plugins/persistent.rb +22 -1
  27. data/lib/httpx/plugins/proxy/http.rb +3 -1
  28. data/lib/httpx/plugins/query.rb +35 -0
  29. data/lib/httpx/plugins/response_cache/file_store.rb +115 -15
  30. data/lib/httpx/plugins/response_cache/store.rb +7 -67
  31. data/lib/httpx/plugins/response_cache.rb +179 -29
  32. data/lib/httpx/plugins/retries.rb +26 -14
  33. data/lib/httpx/plugins/stream.rb +4 -2
  34. data/lib/httpx/plugins/stream_bidi.rb +315 -0
  35. data/lib/httpx/pool.rb +58 -5
  36. data/lib/httpx/request/body.rb +1 -1
  37. data/lib/httpx/request.rb +6 -2
  38. data/lib/httpx/resolver/https.rb +10 -4
  39. data/lib/httpx/resolver/native.rb +13 -13
  40. data/lib/httpx/resolver/resolver.rb +4 -0
  41. data/lib/httpx/resolver/system.rb +37 -14
  42. data/lib/httpx/resolver.rb +2 -2
  43. data/lib/httpx/response/body.rb +10 -21
  44. data/lib/httpx/response/buffer.rb +36 -12
  45. data/lib/httpx/response.rb +11 -1
  46. data/lib/httpx/selector.rb +16 -12
  47. data/lib/httpx/session.rb +79 -19
  48. data/lib/httpx/timers.rb +24 -16
  49. data/lib/httpx/transcoder/multipart/decoder.rb +4 -2
  50. data/lib/httpx/transcoder/multipart/encoder.rb +2 -1
  51. data/lib/httpx/version.rb +1 -1
  52. data/sig/buffer.rbs +1 -1
  53. data/sig/chainable.rbs +5 -2
  54. data/sig/connection/http2.rbs +11 -2
  55. data/sig/connection.rbs +4 -4
  56. data/sig/errors.rbs +0 -3
  57. data/sig/headers.rbs +15 -10
  58. data/sig/httpx.rbs +5 -1
  59. data/sig/io/tcp.rbs +6 -0
  60. data/sig/loggable.rbs +2 -0
  61. data/sig/options.rbs +7 -1
  62. data/sig/plugins/cookies/cookie.rbs +1 -3
  63. data/sig/plugins/cookies/jar.rbs +4 -4
  64. data/sig/plugins/cookies/set_cookie_parser.rbs +22 -0
  65. data/sig/plugins/cookies.rbs +2 -0
  66. data/sig/plugins/h2c.rbs +4 -0
  67. data/sig/plugins/proxy/http.rbs +3 -0
  68. data/sig/plugins/proxy.rbs +4 -0
  69. data/sig/plugins/query.rbs +18 -0
  70. data/sig/plugins/response_cache/file_store.rbs +19 -0
  71. data/sig/plugins/response_cache/store.rbs +13 -0
  72. data/sig/plugins/response_cache.rbs +41 -19
  73. data/sig/plugins/retries.rbs +4 -3
  74. data/sig/plugins/stream.rbs +5 -1
  75. data/sig/plugins/stream_bidi.rbs +68 -0
  76. data/sig/plugins/upgrade/h2.rbs +9 -0
  77. data/sig/plugins/upgrade.rbs +5 -0
  78. data/sig/pool.rbs +5 -0
  79. data/sig/punycode.rbs +5 -0
  80. data/sig/request.rbs +2 -0
  81. data/sig/resolver/https.rbs +3 -2
  82. data/sig/resolver/native.rbs +1 -2
  83. data/sig/resolver/resolver.rbs +11 -3
  84. data/sig/resolver/system.rbs +19 -2
  85. data/sig/resolver.rbs +11 -7
  86. data/sig/response/body.rbs +3 -4
  87. data/sig/response/buffer.rbs +2 -3
  88. data/sig/response.rbs +2 -2
  89. data/sig/selector.rbs +20 -10
  90. data/sig/session.rbs +14 -6
  91. data/sig/timers.rbs +5 -7
  92. data/sig/transcoder/multipart.rbs +4 -3
  93. metadata +13 -2
data/sig/pool.rbs CHANGED
@@ -9,6 +9,7 @@ module HTTPX
9
9
 
10
10
  type resolver_manager = Resolver::Multi | Resolver::System
11
11
 
12
+ @max_connections: Integer
12
13
  @max_connections_per_origin: Integer
13
14
  @pool_timeout: Numeric
14
15
  @options: Options
@@ -16,6 +17,8 @@ module HTTPX
16
17
  @resolver_mtx: Thread::Mutex
17
18
  @connections: Hash[String, Array[Connection]]
18
19
  @connection_mtx: Thread::Mutex
20
+ @connections_counter: Integer
21
+ @max_connections_cond: ConditionVariable
19
22
  @origin_counters: Hash[String, Integer]
20
23
  @origin_conds: Hash[String, ConditionVariable]
21
24
 
@@ -42,5 +45,7 @@ module HTTPX
42
45
  def checkout_new_connection: (http_uri uri, Options options) -> Connection
43
46
 
44
47
  def checkout_new_resolver: (Class resolver_type, Options options) -> resolver_manager
48
+
49
+ def drop_connection: (?Connection connection) -> Connection?
45
50
  end
46
51
  end
data/sig/punycode.rbs ADDED
@@ -0,0 +1,5 @@
1
+ module HTTPX
2
+ module Punycode
3
+ def self?.encode_hostname: (String) -> String
4
+ end
5
+ end
data/sig/request.rbs CHANGED
@@ -39,6 +39,8 @@ module HTTPX
39
39
 
40
40
  def interests: () -> (:r | :w)
41
41
 
42
+ def can_buffer? : () -> bool
43
+
42
44
  def merge_headers: (_Each[[String, headers_value]]) -> void
43
45
 
44
46
  def scheme: () -> String
@@ -1,6 +1,8 @@
1
1
  module HTTPX
2
2
  module Resolver
3
3
  class HTTPS < Resolver
4
+ extend Forwardable
5
+
4
6
  NAMESERVER: String
5
7
 
6
8
  DEFAULTS: Hash[Symbol, untyped]
@@ -9,6 +11,7 @@ module HTTPX
9
11
  attr_reader family: ip_family
10
12
 
11
13
  @options: Options
14
+ @queries: Hash[String, Connection]
12
15
  @requests: Hash[Request, String]
13
16
  @connections: Array[Connection]
14
17
  @uri: http_uri
@@ -26,8 +29,6 @@ module HTTPX
26
29
 
27
30
  def resolver_connection: () -> Connection
28
31
 
29
- def resolve: (?Connection connection, ?String? hostname) -> void
30
-
31
32
  def on_response: (Request, response) -> void
32
33
 
33
34
  def parse: (Request request, Response response) -> void
@@ -16,6 +16,7 @@ module HTTPX
16
16
  @search: Array[String]
17
17
  @_timeouts: Array[Numeric]
18
18
  @timeouts: Hash[String, Array[Numeric]]
19
+ @queries: Hash[String, Connection]
19
20
  @connections: Array[Connection]
20
21
  @read_buffer: String
21
22
  @write_buffer: Buffer
@@ -54,8 +55,6 @@ module HTTPX
54
55
 
55
56
  def parse: (String) -> void
56
57
 
57
- def resolve: (?Connection connection, ?String hostname) -> void
58
-
59
58
  def generate_candidates: (String) -> Array[String]
60
59
 
61
60
  def build_socket: () -> (UDP | TCP)
@@ -4,7 +4,11 @@ module HTTPX
4
4
  include Callbacks
5
5
  include Loggable
6
6
 
7
- RECORD_TYPES: Hash[Integer, singleton(Resolv::DNS::Resource)]
7
+ include _Selectable
8
+
9
+ RECORD_TYPES: Hash[ip_family, singleton(Resolv::DNS::Resource)]
10
+
11
+ FAMILY_TYPES: Hash[singleton(Resolv::DNS::Resource), String]
8
12
 
9
13
  attr_reader family: ip_family
10
14
 
@@ -18,8 +22,8 @@ module HTTPX
18
22
 
19
23
  @record_type: singleton(Resolv::DNS::Resource)
20
24
  @resolver_options: Hash[Symbol, untyped]
21
- @queries: Hash[String, Connection]
22
25
  @system_resolver: Resolv::Hosts
26
+ @connections: Array[Connection]
23
27
 
24
28
  def close: () -> void
25
29
 
@@ -33,11 +37,15 @@ module HTTPX
33
37
 
34
38
  def emit_addresses: (Connection connection, ip_family family, Array[IPAddr], ?bool early_resolve) -> void
35
39
 
40
+ def self.multi?: () -> bool
41
+
36
42
  private
37
43
 
44
+ def resolve: (?Connection connection, ?String hostname) -> void
45
+
38
46
  def emit_resolved_connection: (Connection connection, Array[IPAddr] addresses, bool early_resolve) -> void
39
47
 
40
- def initialize: (ip_family? family, Options options) -> void
48
+ def initialize: (ip_family family, Options options) -> void
41
49
 
42
50
  def early_resolve: (Connection connection, ?hostname: String) -> bool
43
51
 
@@ -2,16 +2,33 @@ module HTTPX
2
2
  module Resolver
3
3
  class System < Resolver
4
4
  RESOLV_ERRORS: Array[singleton(StandardError)] # ResolvError
5
+ DONE: 1
6
+ ERROR: 2
5
7
 
6
8
  @resolver: Resolv::DNS
9
+ @_timeouts: Array[Numeric]
10
+ @timeouts: Hash[String, Array[Numeric]]
11
+ @queries: Array[[ip_family, Connection]]
12
+ @ips: Array[[ip_family, Connection, (Array[Addrinfo] | StandardError)]]
13
+ @pipe_mutex: Thread::Mutex
14
+ @pipe_read: ::IO
15
+ @pipe_write: ::IO
7
16
 
8
- attr_reader family: nil
17
+ attr_reader state: Symbol
9
18
 
10
19
  def <<: (Connection) -> void
11
20
 
12
21
  private
13
22
 
14
- def initialize: (options options) -> void
23
+ def transition: (Symbol nextstate) -> void
24
+
25
+ def consume: () -> void
26
+
27
+ def async_resolve: (Connection connection, String hostname, String scheme) -> void
28
+
29
+ def __addrinfo_resolve: (String host, String scheme) -> Array[Addrinfo]
30
+
31
+ def initialize: (Options options) -> void
15
32
  end
16
33
  end
17
34
  end
data/sig/resolver.rbs CHANGED
@@ -2,22 +2,26 @@ module HTTPX
2
2
  type ipaddr = IPAddr | String
3
3
 
4
4
  module Resolver
5
- RESOLVE_TIMEOUT: Array[Integer]
6
-
7
- @lookup_mutex: Thread::Mutex
8
-
9
5
  type dns_resource = singleton(Resolv::DNS::Resource)
10
6
 
11
7
  type dns_result = { "name" => String, "TTL" => Numeric, "alias" => String }
12
8
  | { "name" => String, "TTL" => Numeric, "data" => String }
13
9
 
10
+ RESOLVE_TIMEOUT: Array[Integer]
11
+
12
+ self.@lookup_mutex: Thread::Mutex
13
+ self.@lookups: Hash[String, Array[dns_result]]
14
+ self.@identifier_mutex: Thread::Mutex
15
+ self.@identifier: Integer
16
+ self.@system_resolver: Resolv::Hosts
17
+
14
18
  type dns_decoding_response = [:ok, Array[dns_result]] | [:decode_error, Resolv::DNS::DecodeError] | [:dns_error, Integer] | Symbol
15
19
 
16
- def nolookup_resolve: (String hostname) -> Array[IPAddr]
20
+ def self?.nolookup_resolve: (String hostname) -> Array[IPAddr]?
17
21
 
18
- def ip_resolve: (String hostname) -> Array[IPAddr]?
22
+ def self?.ip_resolve: (String hostname) -> Array[IPAddr]?
19
23
 
20
- def system_resolve: (String hostname) -> Array[IPAddr]?
24
+ def self?.system_resolve: (String hostname) -> Array[IPAddr]?
21
25
 
22
26
  def self?.resolver_for: (:native resolver_type) -> singleton(Native) |
23
27
  (:system resolver_type) -> singleton(System) |
@@ -7,14 +7,15 @@ module HTTPX
7
7
  attr_reader encoding: Encoding
8
8
  attr_reader encodings: Array[String]
9
9
 
10
+ attr_reader buffer: Response::Buffer?
11
+
10
12
  @response: Response
11
13
  @headers: Headers
12
14
  @options: Options
13
15
  @state: :idle | :memory | :buffer | :closed
14
16
  @window_size: Integer
15
17
  @length: Integer
16
- @buffer: StringIO | Tempfile | nil
17
- @reader: StringIO | Tempfile | nil
18
+ @reader: Response::Buffer?
18
19
  @inflaters: Array[Transcoder::_Inflater]
19
20
 
20
21
  def initialize: (Response, Options) -> void
@@ -47,7 +48,5 @@ module HTTPX
47
48
  def decode_chunk: (String chunk) -> String
48
49
 
49
50
  def transition: (Symbol nextstate) -> void
50
-
51
- def _with_same_buffer_pos: [A] () { () -> A } -> A
52
51
  end
53
52
  end
@@ -1,9 +1,10 @@
1
1
  module HTTPX
2
2
  class Response::Buffer
3
+ attr_reader buffer: StringIO | Tempfile
4
+
3
5
  @threshold_size: Integer
4
6
  @bytesize: Integer
5
7
  @encoding: Encoding
6
- @buffer: StringIO | Tempfile
7
8
 
8
9
  def initialize: (threshold_size: Integer, ?bytesize: Integer, ?encoding: Encoding) -> void
9
10
 
@@ -18,7 +19,5 @@ module HTTPX
18
19
  private
19
20
 
20
21
  def try_upgrade_buffer: () -> void
21
-
22
- def _with_same_buffer_pos: () { () -> void } -> void
23
22
  end
24
23
  end
data/sig/response.rbs CHANGED
@@ -4,6 +4,8 @@ module HTTPX
4
4
 
5
5
  def finished?: () -> bool
6
6
 
7
+ def finish!: () -> void
8
+
7
9
  def raise_for_status: () -> self
8
10
 
9
11
  def error: () -> StandardError?
@@ -41,8 +43,6 @@ module HTTPX
41
43
 
42
44
  def content_type: () -> ContentType
43
45
 
44
- def finish!: () -> void
45
-
46
46
  def complete?: () -> bool
47
47
 
48
48
  def json: (?JSON::options opts) -> untyped
data/sig/selector.rbs CHANGED
@@ -1,15 +1,27 @@
1
1
  module HTTPX
2
- type selectable = Connection | Resolver::Native
2
+ interface _Selectable
3
+ def state: () -> Symbol
4
+
5
+ def to_io: () -> ::IO
6
+
7
+ def call: () -> void
8
+
9
+ def interests: () -> io_interests?
10
+
11
+ def timeout: () -> Numeric?
12
+
13
+ def handle_socket_timeout: (Numeric interval) -> void
14
+ end
3
15
 
4
16
  class Selector
5
- include _Each[selectable]
17
+ include _Each[_Selectable]
6
18
 
7
19
  READABLE: Array[Symbol]
8
20
  WRITABLE: Array[Symbol]
9
21
 
10
22
  @timers: Timers
11
23
 
12
- @selectables: Array[selectable]
24
+ @selectables: Array[_Selectable]
13
25
  @is_timer_interval: bool
14
26
 
15
27
  def next_tick: () -> void
@@ -27,23 +39,21 @@ module HTTPX
27
39
 
28
40
  def empty?: () -> bool
29
41
 
30
- def register: (selectable io) -> void
42
+ def register: (_Selectable io) -> void
31
43
 
32
- def deregister: (selectable io) -> selectable?
44
+ def deregister: (_Selectable io) -> _Selectable?
33
45
 
34
46
  private
35
47
 
36
48
  def initialize: () -> void
37
49
 
38
- def select: (Numeric? interval) { (selectable) -> void } -> void
50
+ def select: (Numeric? interval) { (_Selectable) -> void } -> void
39
51
 
40
- def select_many: (Numeric? interval) { (selectable) -> void } -> void
52
+ def select_many: (Numeric? interval) { (_Selectable) -> void } -> void
41
53
 
42
- def select_one: (Numeric? interval) { (selectable) -> void } -> void
54
+ def select_one: (Numeric? interval) { (_Selectable) -> void } -> void
43
55
 
44
56
  def next_timeout: () -> Numeric?
45
-
46
- def emit_error: (StandardError e) -> void
47
57
  end
48
58
 
49
59
  type io_interests = :r | :w | :rw
data/sig/session.rbs CHANGED
@@ -6,7 +6,6 @@ module HTTPX
6
6
  EMPTY_HASH: Hash[untyped, untyped]
7
7
 
8
8
  @options: Options
9
- @responses: Hash[Request, response]
10
9
 
11
10
  # returns the HTTPX::Pool object which manages the networking required to
12
11
  # perform requests.
@@ -14,8 +13,7 @@ module HTTPX
14
13
 
15
14
  @persistent: bool
16
15
  @wrapped: bool
17
-
18
- def self.plugin: (Symbol | Module plugin, ?options? options) ?{ (Class) -> void } -> singleton(Session)
16
+ @closing: bool
19
17
 
20
18
  def wrap: () { (instance) -> void } -> void
21
19
 
@@ -44,8 +42,6 @@ module HTTPX
44
42
 
45
43
  def deactivate: (Selector selector) -> void
46
44
 
47
- def on_response: (Request, response) -> void
48
-
49
45
  def on_promise: (untyped, untyped) -> void
50
46
 
51
47
  def fetch_response: (Request request, Selector selector, Options options) -> response?
@@ -86,7 +82,19 @@ module HTTPX
86
82
  def selector_store: () -> Hash[instance, Selector]
87
83
 
88
84
  attr_reader self.default_options: Options
85
+ self.@plugins: Array[Module]
86
+
87
+ def self.plugin: (Symbol | Module plugin, ?options? options) ?{ (Class) -> void } -> singleton(Session)
88
+
89
+
90
+ INSTANCES: Hash[Session, Session]
91
+
92
+ def self.after_fork: () -> void
93
+
94
+ module ForkTracker
95
+ def _fork: () -> void
96
+ end
89
97
  end
90
98
 
91
- OriginalSession: singleton(Session)
99
+ S: singleton(Session)
92
100
  end
data/sig/timers.rbs CHANGED
@@ -14,18 +14,16 @@ module HTTPX
14
14
 
15
15
  def initialize: () -> void
16
16
 
17
+ private
18
+
19
+ def drop_elapsed!: (?Numeric elapsed_time) -> void
20
+
17
21
  class Interval
18
22
  include Comparable
19
23
 
20
24
  attr_reader interval: Numeric
21
25
 
22
26
  @callbacks: Array[callback]
23
- @on_empty: callback?
24
-
25
-
26
- def on_empty: () { () -> void } -> void
27
-
28
- def cancel: () -> void
29
27
 
30
28
  def to_f: () -> Float
31
29
 
@@ -35,7 +33,7 @@ module HTTPX
35
33
 
36
34
  def elapse: (Numeric elapsed) -> Numeric
37
35
 
38
- def elapsed?: () -> bool
36
+ def elapsed?: (?Numeric elapsed_time) -> bool
39
37
 
40
38
  def no_callbacks?: () -> bool
41
39
 
@@ -40,11 +40,11 @@ module HTTPX
40
40
 
41
41
  def initialize: (Enumerable[[Symbol | string, multipart_nested_value]] multipart_data) -> untyped
42
42
 
43
- def header_part: (string key, String content_type, String? filename) -> StringIO
43
+ def header_part: (String key, String content_type, String? filename) -> StringIO
44
44
 
45
- def read_chunks: (String buffer, ?int? length) -> void
45
+ def read_chunks: (String buffer, ?Integer? length) -> void
46
46
 
47
- def read_from_part: (?int? max_length) -> String?
47
+ def read_from_part: (?Integer? max_length) -> String?
48
48
  end
49
49
 
50
50
  class Decoder
@@ -60,6 +60,7 @@ module HTTPX
60
60
  @parts: Hash[String, untyped]
61
61
  @boundary: String
62
62
  @intermediate_boundary: String
63
+ @current: String?
63
64
 
64
65
  def call: (Response response, *untyped) -> Hash[String, untyped]
65
66
 
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: httpx
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.4
4
+ version: 1.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tiago Cardoso
8
8
  bindir: bin
9
9
  cert_chain: []
10
- date: 2025-04-03 00:00:00.000000000 Z
10
+ date: 2025-05-16 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: http-2
@@ -153,6 +153,7 @@ extra_rdoc_files:
153
153
  - doc/release_notes/1_4_2.md
154
154
  - doc/release_notes/1_4_3.md
155
155
  - doc/release_notes/1_4_4.md
156
+ - doc/release_notes/1_5_0.md
156
157
  files:
157
158
  - LICENSE.txt
158
159
  - README.md
@@ -278,6 +279,7 @@ files:
278
279
  - doc/release_notes/1_4_2.md
279
280
  - doc/release_notes/1_4_3.md
280
281
  - doc/release_notes/1_4_4.md
282
+ - doc/release_notes/1_5_0.md
281
283
  - lib/httpx.rb
282
284
  - lib/httpx/adapters/datadog.rb
283
285
  - lib/httpx/adapters/faraday.rb
@@ -339,6 +341,7 @@ files:
339
341
  - lib/httpx/plugins/proxy/socks5.rb
340
342
  - lib/httpx/plugins/proxy/ssh.rb
341
343
  - lib/httpx/plugins/push_promise.rb
344
+ - lib/httpx/plugins/query.rb
342
345
  - lib/httpx/plugins/rate_limiter.rb
343
346
  - lib/httpx/plugins/response_cache.rb
344
347
  - lib/httpx/plugins/response_cache/file_store.rb
@@ -346,6 +349,7 @@ files:
346
349
  - lib/httpx/plugins/retries.rb
347
350
  - lib/httpx/plugins/ssrf_filter.rb
348
351
  - lib/httpx/plugins/stream.rb
352
+ - lib/httpx/plugins/stream_bidi.rb
349
353
  - lib/httpx/plugins/upgrade.rb
350
354
  - lib/httpx/plugins/upgrade/h2.rb
351
355
  - lib/httpx/plugins/webdav.rb
@@ -419,6 +423,7 @@ files:
419
423
  - sig/plugins/cookies.rbs
420
424
  - sig/plugins/cookies/cookie.rbs
421
425
  - sig/plugins/cookies/jar.rbs
426
+ - sig/plugins/cookies/set_cookie_parser.rbs
422
427
  - sig/plugins/digest_auth.rbs
423
428
  - sig/plugins/expect.rbs
424
429
  - sig/plugins/follow_redirects.rbs
@@ -436,15 +441,21 @@ files:
436
441
  - sig/plugins/proxy/socks5.rbs
437
442
  - sig/plugins/proxy/ssh.rbs
438
443
  - sig/plugins/push_promise.rbs
444
+ - sig/plugins/query.rbs
439
445
  - sig/plugins/rate_limiter.rbs
440
446
  - sig/plugins/response_cache.rbs
447
+ - sig/plugins/response_cache/file_store.rbs
448
+ - sig/plugins/response_cache/store.rbs
441
449
  - sig/plugins/retries.rbs
442
450
  - sig/plugins/ssrf_filter.rbs
443
451
  - sig/plugins/stream.rbs
452
+ - sig/plugins/stream_bidi.rbs
444
453
  - sig/plugins/upgrade.rbs
454
+ - sig/plugins/upgrade/h2.rbs
445
455
  - sig/plugins/webdav.rbs
446
456
  - sig/plugins/xml.rbs
447
457
  - sig/pool.rbs
458
+ - sig/punycode.rbs
448
459
  - sig/request.rbs
449
460
  - sig/request/body.rbs
450
461
  - sig/resolver.rbs