httpx 0.11.3 → 0.14.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (99) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -2
  3. data/doc/release_notes/0_10_1.md +1 -1
  4. data/doc/release_notes/0_11_1.md +5 -1
  5. data/doc/release_notes/0_12_0.md +55 -0
  6. data/doc/release_notes/0_13_0.md +58 -0
  7. data/doc/release_notes/0_13_1.md +5 -0
  8. data/doc/release_notes/0_13_2.md +9 -0
  9. data/doc/release_notes/0_14_0.md +79 -0
  10. data/lib/httpx.rb +3 -3
  11. data/lib/httpx/adapters/faraday.rb +4 -6
  12. data/lib/httpx/altsvc.rb +1 -0
  13. data/lib/httpx/callbacks.rb +12 -3
  14. data/lib/httpx/chainable.rb +2 -2
  15. data/lib/httpx/connection.rb +92 -37
  16. data/lib/httpx/connection/http1.rb +37 -19
  17. data/lib/httpx/connection/http2.rb +82 -31
  18. data/lib/httpx/headers.rb +1 -1
  19. data/lib/httpx/io.rb +16 -3
  20. data/lib/httpx/io/ssl.rb +35 -24
  21. data/lib/httpx/io/tcp.rb +50 -28
  22. data/lib/httpx/io/tls.rb +218 -0
  23. data/lib/httpx/io/tls/box.rb +365 -0
  24. data/lib/httpx/io/tls/context.rb +199 -0
  25. data/lib/httpx/io/tls/ffi.rb +390 -0
  26. data/lib/httpx/io/udp.rb +31 -7
  27. data/lib/httpx/io/unix.rb +27 -12
  28. data/lib/httpx/options.rb +97 -74
  29. data/lib/httpx/parser/http1.rb +4 -4
  30. data/lib/httpx/plugins/aws_sdk_authentication.rb +84 -0
  31. data/lib/httpx/plugins/aws_sigv4.rb +219 -0
  32. data/lib/httpx/plugins/basic_authentication.rb +8 -3
  33. data/lib/httpx/plugins/compression.rb +24 -12
  34. data/lib/httpx/plugins/compression/brotli.rb +10 -7
  35. data/lib/httpx/plugins/compression/deflate.rb +8 -10
  36. data/lib/httpx/plugins/compression/gzip.rb +4 -3
  37. data/lib/httpx/plugins/cookies.rb +3 -7
  38. data/lib/httpx/plugins/digest_authentication.rb +5 -5
  39. data/lib/httpx/plugins/expect.rb +6 -6
  40. data/lib/httpx/plugins/follow_redirects.rb +4 -4
  41. data/lib/httpx/plugins/grpc.rb +247 -0
  42. data/lib/httpx/plugins/grpc/call.rb +62 -0
  43. data/lib/httpx/plugins/grpc/message.rb +85 -0
  44. data/lib/httpx/plugins/h2c.rb +43 -58
  45. data/lib/httpx/plugins/internal_telemetry.rb +93 -0
  46. data/lib/httpx/plugins/multipart.rb +2 -0
  47. data/lib/httpx/plugins/multipart/encoder.rb +4 -9
  48. data/lib/httpx/plugins/multipart/part.rb +1 -1
  49. data/lib/httpx/plugins/proxy.rb +4 -8
  50. data/lib/httpx/plugins/proxy/http.rb +1 -1
  51. data/lib/httpx/plugins/proxy/socks4.rb +8 -0
  52. data/lib/httpx/plugins/proxy/socks5.rb +8 -0
  53. data/lib/httpx/plugins/proxy/ssh.rb +3 -3
  54. data/lib/httpx/plugins/push_promise.rb +3 -2
  55. data/lib/httpx/plugins/rate_limiter.rb +1 -1
  56. data/lib/httpx/plugins/retries.rb +15 -16
  57. data/lib/httpx/plugins/stream.rb +99 -77
  58. data/lib/httpx/plugins/upgrade.rb +84 -0
  59. data/lib/httpx/plugins/upgrade/h2.rb +54 -0
  60. data/lib/httpx/pool.rb +14 -6
  61. data/lib/httpx/registry.rb +1 -7
  62. data/lib/httpx/request.rb +36 -3
  63. data/lib/httpx/resolver/https.rb +3 -11
  64. data/lib/httpx/resolver/native.rb +7 -3
  65. data/lib/httpx/response.rb +18 -7
  66. data/lib/httpx/selector.rb +5 -0
  67. data/lib/httpx/session.rb +41 -8
  68. data/lib/httpx/transcoder/body.rb +3 -5
  69. data/lib/httpx/transcoder/chunker.rb +1 -1
  70. data/lib/httpx/version.rb +1 -1
  71. data/sig/callbacks.rbs +2 -0
  72. data/sig/chainable.rbs +2 -1
  73. data/sig/connection/http1.rbs +7 -2
  74. data/sig/connection/http2.rbs +10 -4
  75. data/sig/options.rbs +16 -22
  76. data/sig/plugins/aws_sdk_authentication.rbs +19 -0
  77. data/sig/plugins/aws_sigv4.rbs +64 -0
  78. data/sig/plugins/basic_authentication.rbs +2 -0
  79. data/sig/plugins/compression.rbs +7 -5
  80. data/sig/plugins/compression/brotli.rbs +1 -1
  81. data/sig/plugins/compression/deflate.rbs +1 -1
  82. data/sig/plugins/compression/gzip.rbs +1 -1
  83. data/sig/plugins/cookies.rbs +0 -1
  84. data/sig/plugins/digest_authentication.rbs +0 -1
  85. data/sig/plugins/expect.rbs +0 -2
  86. data/sig/plugins/follow_redirects.rbs +0 -2
  87. data/sig/plugins/h2c.rbs +5 -10
  88. data/sig/plugins/persistent.rbs +0 -1
  89. data/sig/plugins/proxy.rbs +0 -1
  90. data/sig/plugins/push_promise.rbs +1 -1
  91. data/sig/plugins/retries.rbs +0 -4
  92. data/sig/plugins/stream.rbs +17 -16
  93. data/sig/plugins/upgrade.rbs +23 -0
  94. data/sig/request.rbs +7 -2
  95. data/sig/response.rbs +4 -1
  96. data/sig/session.rbs +4 -0
  97. metadata +56 -33
  98. data/lib/httpx/timeout.rb +0 -67
  99. data/sig/timeout.rbs +0 -29
@@ -0,0 +1,19 @@
1
+ module HTTPX
2
+ module Plugins
3
+ module AwsSdkAuthentication
4
+ class Credentials
5
+ include _SigV4Credentials
6
+ end
7
+
8
+ def self.load_dependencies: (singleton(Session)) -> void
9
+
10
+ def self.configure: (singleton(Session)) -> void
11
+
12
+ def self.extra_options: (Options) -> (Options)
13
+
14
+ module InstanceMethods
15
+ def aws_sdk_authentication: (**untyped) -> instance
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,64 @@
1
+ module HTTPX
2
+ module Plugins
3
+
4
+ interface _SigV4Credentials
5
+ def username: () -> String
6
+ def password: () -> String
7
+ def security_token: () -> String?
8
+ end
9
+
10
+ module AWSSigV4
11
+
12
+ Credentials: _SigV4Credentials
13
+
14
+
15
+ class Signer
16
+
17
+ def sign!: (Request) -> void
18
+
19
+ private
20
+
21
+ def initialize: (
22
+ service: String,
23
+ region: String,
24
+ ?credentials: _SigV4Credentials,
25
+ ?username: String,
26
+ ?password: String,
27
+ ?security_token: String,
28
+ ?provider_prefix: String,
29
+ ?header_provider_field: String,
30
+ ?unsigned_headers: Array[String],
31
+ ?apply_checksum_header: bool,
32
+ ?algorithm: String
33
+ ) -> untyped
34
+
35
+
36
+ def sha256_hexdigest: (bodyIO value) -> String
37
+
38
+ def hmac: (String key, String value) -> String
39
+ def hexhmac: (String key, String value) -> String
40
+ end
41
+
42
+
43
+ interface _SigV4Options
44
+ def sigv4_signer: () -> Signer?
45
+ def sigv4_signer=: (Signer) -> Signer
46
+ end
47
+
48
+ def self.extra_options: (Options) -> (Options & _SigV4Options)
49
+ def self.load_dependencies: (singleton(Session)) -> void
50
+
51
+ module InstanceMethods
52
+ def aws_sigv4_authentication: (**untyped) -> instance
53
+ end
54
+
55
+ module RequestMethods
56
+ def canonical_path: () -> String
57
+
58
+ def canonical_query: () -> String
59
+ end
60
+ end
61
+
62
+ type awsSigV4Session = Session & Plugins::AWSSigV4::InstanceMethods
63
+ end
64
+ end
@@ -3,6 +3,8 @@ module HTTPX
3
3
  module BasicAuthentication
4
4
  def self.load_dependencies: (singleton(Session)) -> void
5
5
 
6
+ def self.configure: (singleton(Session)) -> void
7
+
6
8
  module InstanceMethods
7
9
  def basic_authentication: (string user, string password) -> instance
8
10
  end
@@ -1,13 +1,13 @@
1
1
  module HTTPX
2
2
  module Plugins
3
3
  module Compression
4
- extend Registry[Symbol, Class]
4
+ type encodings_registry = Registry[Symbol, Class]
5
5
 
6
6
  type deflatable = _Reader | _ToS
7
7
 
8
8
  interface _Deflater
9
- def deflate: (deflatable, _Writer, chunk_size: Integer) -> void
10
- | (deflatable, _Writer, chunk_size: Integer) { (String) -> void } -> void
9
+ def deflate: (deflatable, ?_Writer, ?chunk_size: Integer) -> _ToS
10
+ | (deflatable, ?_Writer, ?chunk_size: Integer) { (String) -> void } -> _ToS
11
11
  end
12
12
 
13
13
  interface _Inflater
@@ -16,12 +16,14 @@ module HTTPX
16
16
  def initialize: (Numeric bytesize) -> untyped
17
17
  end
18
18
 
19
- def self.load_dependencies: (singleton(Session)) -> void
19
+ def self.configure: (singleton(Session)) -> void
20
20
 
21
21
  interface _CompressionOptions
22
22
  def compression_threshold_size: () -> _Integer?
23
23
  def compression_threshold_size=: (int) -> int
24
- def with_compression_threshold_size: (int) -> instance
24
+
25
+ def encodings: () -> encodings_registry?
26
+ def encodings=: (encodings_registry) -> encodings_registry
25
27
  end
26
28
 
27
29
  def self.extra_options: (Options) -> (Options & _CompressionOptions)
@@ -3,7 +3,7 @@ module HTTPX
3
3
  module Compression
4
4
  module Brotli
5
5
  def self.load_dependencies: (singleton(Session)) -> void
6
- def self.configure: (*untyped) -> void
6
+ def self.configure: (singleton(Session)) -> void
7
7
 
8
8
  def self?.deflater: () -> _Deflater
9
9
  def self?.decoder: (Numeric bytesize) -> Inflater
@@ -3,7 +3,7 @@ module HTTPX
3
3
  module Compression
4
4
  module Deflate
5
5
  def self.load_dependencies: (singleton(Session)) -> void
6
- def self.configure: (*untyped) -> void
6
+ def self.configure: (singleton(Session)) -> void
7
7
 
8
8
  def self?.deflater: () -> _Deflater
9
9
  def self?.inflater: (Numeric bytesize) -> GZIP::Inflater
@@ -3,7 +3,7 @@ module HTTPX
3
3
  module Compression
4
4
  module GZIP
5
5
  def self.load_dependencies: (singleton(Session)) -> void
6
- def self.configure: (*untyped) -> void
6
+ def self.configure: (singleton(Session)) -> void
7
7
 
8
8
  def self?.deflater: () -> _Deflater
9
9
  def self?.inflater: (Numeric bytesize) -> Inflater
@@ -6,7 +6,6 @@ module HTTPX
6
6
  interface _CookieOptions
7
7
  def cookies: () -> Jar?
8
8
  def cookies=: (jar) -> Jar
9
- def with_cookies: (jar) -> instance
10
9
  end
11
10
 
12
11
  def self.extra_options: (Options) -> (Options & _CookieOptions)
@@ -6,7 +6,6 @@ module HTTPX
6
6
  interface _DigestOptions
7
7
  def digest: () -> Digest?
8
8
  def digest=: (Digest) -> Digest
9
- def with_digest: (Digest) -> instance
10
9
  end
11
10
 
12
11
  def self.extra_options: (Options) -> (Options & _DigestOptions)
@@ -6,11 +6,9 @@ module HTTPX
6
6
  interface _ExpectOptions
7
7
  def expect_timeout: () -> Integer?
8
8
  def expect_timeout=: (int) -> Integer
9
- def with_expect_timeout: (int) -> instance
10
9
 
11
10
  def expect_threshold_size: () -> Integer?
12
11
  def expect_threshold_size=: (int) -> Integer
13
- def with_expect_threshold_size: (int) -> instance
14
12
  end
15
13
 
16
14
  def self.extra_options: (Options) -> (Options & _ExpectOptions)
@@ -9,11 +9,9 @@ module HTTPX
9
9
  interface _FollowRedirectsOptions
10
10
  def max_redirects: () -> Integer?
11
11
  def max_redirects=: (int) -> Integer
12
- def with_max_redirects: (int) -> instance
13
12
 
14
13
  def follow_insecure_redirects: () -> bool?
15
14
  def follow_insecure_redirects=: (bool) -> bool
16
- def with_follow_insecure_redirects: (bool) -> instance
17
15
  end
18
16
 
19
17
  def self.extra_options: (Options) -> (Options & _FollowRedirectsOptions)
data/sig/plugins/h2c.rbs CHANGED
@@ -1,23 +1,18 @@
1
1
  module HTTPX
2
2
  module Plugins
3
3
  module H2C
4
- def self.load_dependencies: (singleton(Session)) -> void
5
-
6
- module InstanceMethods
7
- VALID_H2C_METHODS: Array[Symbol]
8
-
9
- private
4
+ VALID_H2C_VERBS: Array[Symbol]
10
5
 
11
- def valid_h2c_upgrade_request: (Request) -> bool
12
- def valid_h2c_upgrade?: (Request, Response, Options) -> bool
13
- end
6
+ def self.load_dependencies: (*untyped) -> void
7
+ def self.configure: (singleton(Session)) -> void
8
+ def self.call: (Connection, Request, response) -> void
14
9
 
15
10
  class H2CParser < Connection::HTTP2
16
11
  def upgrade: (Request, Response) -> void
17
12
  end
18
13
 
19
14
  module ConnectionMethods
20
- def upgrade: (Request, Response) -> void
15
+ def upgrade_to_h2c: (Request, Response) -> void
21
16
  end
22
17
  end
23
18
 
@@ -6,7 +6,6 @@ module HTTPX
6
6
  interface _PersistentOptions
7
7
  def persistent: () -> bool?
8
8
  def persistent=: (bool) -> bool
9
- def with_persistent: (bool) -> instance
10
9
  end
11
10
 
12
11
  def self.extra_options: (Options) -> (Options & _PersistentOptions)
@@ -28,7 +28,6 @@ module HTTPX
28
28
  interface _ProxyOptions
29
29
  def proxy: () -> proxyParam?
30
30
  def proxy=: (Parameters | _ToHash) -> proxyParam
31
- def with_proxy: (Parameters | _ToHash) -> instance
32
31
  end
33
32
 
34
33
  def self.extra_options: (Options) -> (Options & _ProxyOptions)
@@ -11,7 +11,7 @@ module HTTPX
11
11
  module InstanceMethods
12
12
  private
13
13
 
14
- def promise_headers: () -> Hash[HTTP2Next::Stream, Request]
14
+ def promise_headers: () -> Hash[HTTP2Next::Stream, Request]
15
15
  def __on_promise_request: (Connection::HTTP2, HTTP2Next::Stream, headers_input) -> void
16
16
  def __on_promise_response: (Connection::HTTP2, HTTP2Next::Stream, headers_input) -> void
17
17
  end
@@ -12,19 +12,15 @@ module HTTPX
12
12
  interface _RetriesOptions
13
13
  def retry_after: () -> Numeric?
14
14
  def retry_after=: (Numeric) -> Numeric
15
- def with_retry_after: (Numeric) -> instance
16
15
 
17
16
  def max_retries: () -> Integer?
18
17
  def max_retries=: (int) -> Integer
19
- def with_max_retries: (int) -> instance
20
18
 
21
19
  def retry_change_requests: () -> bool?
22
20
  def retry_change_requests=: (bool) -> bool
23
- def with_retry_change_requests: (bool) -> instance
24
21
 
25
22
  def retry_on: () -> _RetryCallback?
26
23
  def retry_on=: (_RetryCallback) -> _RetryCallback
27
- def with_retry_on: (_RetryCallback) -> instance
28
24
  end
29
25
 
30
26
  def self.extra_options: (Options) -> (Options & _RetriesOptions)
@@ -1,4 +1,21 @@
1
1
  module HTTPX
2
+ class StreamResponse
3
+ include _ToS
4
+
5
+ def each: () { (String) -> void } -> void
6
+ | () -> Enumerable[String]
7
+
8
+ def each_line: () { (String) -> void } -> void
9
+ | () -> Enumerable[String]
10
+
11
+ def on_chunk: (string) -> void
12
+
13
+ private
14
+
15
+ def response: () -> response
16
+ def initialize: (Request, Session, Array[Connection]) -> untyped
17
+ end
18
+
2
19
  module Plugins
3
20
  module Stream
4
21
  module InstanceMethods
@@ -16,22 +33,6 @@ module HTTPX
16
33
  def stream: () -> StreamResponse?
17
34
  end
18
35
 
19
- class StreamResponse
20
- include _ToS
21
-
22
- def each: () { (String) -> void } -> void
23
- | () -> Enumerable[String]
24
-
25
- def each_line: () { (String) -> void } -> void
26
- | () -> Enumerable[String]
27
-
28
- def on_chunk: (string) -> void
29
-
30
- private
31
-
32
- def response: () -> response
33
- def initialize: (Request, Session) -> untyped
34
- end
35
36
  end
36
37
 
37
38
  type sessionStream = Session & Plugins::Stream::InstanceMethods
@@ -0,0 +1,23 @@
1
+ module HTTPX
2
+ module Plugins
3
+ module Upgrade
4
+ type handlers_registry = Registry[Symbol, Class]
5
+
6
+ def self.configure: (singleton(Session)) -> void
7
+
8
+ interface _UpgradeOptions
9
+ def upgrade_handlers: () -> handlers_registry?
10
+ def upgrade_handlers=: (handlers_registry) -> handlers_registry
11
+ end
12
+
13
+ def self.extra_options: (Options) -> (Options & _UpgradeOptions)
14
+
15
+ module ConnectionMethods
16
+ attr_reader upgrade_protocol: Symbol?
17
+ attr_reader hijacked: boolish
18
+
19
+ def hijack_io: () -> void
20
+ end
21
+ end
22
+ end
23
+ end
data/sig/request.rbs CHANGED
@@ -11,7 +11,8 @@ module HTTPX
11
11
  attr_reader body: Body
12
12
  attr_reader state: Symbol
13
13
  attr_reader options: Options
14
- attr_reader response: Response?
14
+ attr_reader response: response?
15
+ attr_reader drain_error: StandardError?
15
16
 
16
17
  def initialize: (verb | String, uri, ?options?) -> untyped
17
18
 
@@ -21,7 +22,7 @@ module HTTPX
21
22
 
22
23
  def scheme: () -> ("http" | "https")
23
24
 
24
- def response=: (Response response) -> void
25
+ def response=: (response) -> void
25
26
 
26
27
  def path: () -> String
27
28
 
@@ -39,6 +40,10 @@ module HTTPX
39
40
 
40
41
  def expects?: () -> boolish
41
42
 
43
+ def trailers: () -> Headers
44
+
45
+ def trailers?: () -> boolish
46
+
42
47
  class Body
43
48
  def initialize: (Headers, Options) -> untyped
44
49
  def each: () { (String) -> void } -> void
data/sig/response.rbs CHANGED
@@ -37,6 +37,8 @@ module HTTPX
37
37
  include _ToStr
38
38
 
39
39
  @state: :idle | :memory | :buffer
40
+ @threshold_size: Integer
41
+ @window_size: Integer
40
42
 
41
43
  def each: () { (String) -> void } -> void
42
44
  | () -> Enumerable[String]
@@ -45,10 +47,11 @@ module HTTPX
45
47
  def empty?: () -> bool
46
48
  def copy_to: (_ToPath | _Writer destination) -> void
47
49
  def close: () -> void
50
+ def closed?: () -> bool
48
51
 
49
52
  private
50
53
 
51
- def initialize: (Response, ?threshold_size: Integer, ?window_size: Integer) -> untyped
54
+ def initialize: (Response, options) -> untyped
52
55
  def rewind: () -> void
53
56
  def transition: () -> void
54
57
  end
data/sig/session.rbs CHANGED
@@ -45,5 +45,9 @@ module HTTPX
45
45
  def build_connection: (URI, Options) -> Connection
46
46
 
47
47
  def send_requests: (*Request, options) -> Array[response]
48
+
49
+ def _send_requests: (Array[Request], options) -> Array[Connection]
50
+
51
+ def receive_requests: (Array[Request], Array[Connection], options) -> Array[response]
48
52
  end
49
53
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: httpx
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.11.3
4
+ version: 0.14.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tiago Cardoso
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-02-15 00:00:00.000000000 Z
11
+ date: 2021-05-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: http-2-next
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 0.1.2
19
+ version: 0.4.1
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: 0.1.2
26
+ version: 0.4.1
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: timers
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -47,39 +47,44 @@ extra_rdoc_files:
47
47
  - LICENSE.txt
48
48
  - README.md
49
49
  - doc/release_notes/0_0_1.md
50
- - doc/release_notes/0_0_2.md
51
- - doc/release_notes/0_0_3.md
52
- - doc/release_notes/0_0_4.md
50
+ - doc/release_notes/0_1_0.md
53
51
  - doc/release_notes/0_0_5.md
54
- - doc/release_notes/0_10_0.md
55
- - doc/release_notes/0_10_1.md
56
- - doc/release_notes/0_10_2.md
57
- - doc/release_notes/0_11_0.md
58
- - doc/release_notes/0_11_1.md
52
+ - doc/release_notes/0_0_4.md
53
+ - doc/release_notes/0_14_0.md
54
+ - doc/release_notes/0_6_5.md
55
+ - doc/release_notes/0_13_0.md
56
+ - doc/release_notes/0_6_1.md
59
57
  - doc/release_notes/0_11_2.md
58
+ - doc/release_notes/0_7_0.md
59
+ - doc/release_notes/0_6_0.md
60
+ - doc/release_notes/0_10_2.md
60
61
  - doc/release_notes/0_11_3.md
61
- - doc/release_notes/0_1_0.md
62
- - doc/release_notes/0_2_0.md
63
- - doc/release_notes/0_2_1.md
64
- - doc/release_notes/0_3_0.md
65
- - doc/release_notes/0_3_1.md
66
- - doc/release_notes/0_4_0.md
67
- - doc/release_notes/0_4_1.md
62
+ - doc/release_notes/0_8_2.md
63
+ - doc/release_notes/0_6_4.md
64
+ - doc/release_notes/0_13_1.md
65
+ - doc/release_notes/0_12_0.md
66
+ - doc/release_notes/0_9_0.md
67
+ - doc/release_notes/0_6_3.md
68
+ - doc/release_notes/0_10_1.md
69
+ - doc/release_notes/0_11_0.md
70
+ - doc/release_notes/0_8_1.md
68
71
  - doc/release_notes/0_5_0.md
72
+ - doc/release_notes/0_6_7.md
73
+ - doc/release_notes/0_13_2.md
74
+ - doc/release_notes/0_4_1.md
69
75
  - doc/release_notes/0_5_1.md
70
- - doc/release_notes/0_6_0.md
71
- - doc/release_notes/0_6_1.md
72
- - doc/release_notes/0_6_2.md
73
- - doc/release_notes/0_6_3.md
74
- - doc/release_notes/0_6_4.md
75
- - doc/release_notes/0_6_5.md
76
76
  - doc/release_notes/0_6_6.md
77
- - doc/release_notes/0_6_7.md
78
- - doc/release_notes/0_7_0.md
77
+ - doc/release_notes/0_4_0.md
78
+ - doc/release_notes/0_6_2.md
79
+ - doc/release_notes/0_10_0.md
80
+ - doc/release_notes/0_11_1.md
79
81
  - doc/release_notes/0_8_0.md
80
- - doc/release_notes/0_8_1.md
81
- - doc/release_notes/0_8_2.md
82
- - doc/release_notes/0_9_0.md
82
+ - doc/release_notes/0_3_0.md
83
+ - doc/release_notes/0_2_1.md
84
+ - doc/release_notes/0_0_3.md
85
+ - doc/release_notes/0_0_2.md
86
+ - doc/release_notes/0_3_1.md
87
+ - doc/release_notes/0_2_0.md
83
88
  files:
84
89
  - LICENSE.txt
85
90
  - README.md
@@ -95,6 +100,11 @@ files:
95
100
  - doc/release_notes/0_11_1.md
96
101
  - doc/release_notes/0_11_2.md
97
102
  - doc/release_notes/0_11_3.md
103
+ - doc/release_notes/0_12_0.md
104
+ - doc/release_notes/0_13_0.md
105
+ - doc/release_notes/0_13_1.md
106
+ - doc/release_notes/0_13_2.md
107
+ - doc/release_notes/0_14_0.md
98
108
  - doc/release_notes/0_1_0.md
99
109
  - doc/release_notes/0_2_0.md
100
110
  - doc/release_notes/0_2_1.md
@@ -135,12 +145,18 @@ files:
135
145
  - lib/httpx/io.rb
136
146
  - lib/httpx/io/ssl.rb
137
147
  - lib/httpx/io/tcp.rb
148
+ - lib/httpx/io/tls.rb
149
+ - lib/httpx/io/tls/box.rb
150
+ - lib/httpx/io/tls/context.rb
151
+ - lib/httpx/io/tls/ffi.rb
138
152
  - lib/httpx/io/udp.rb
139
153
  - lib/httpx/io/unix.rb
140
154
  - lib/httpx/loggable.rb
141
155
  - lib/httpx/options.rb
142
156
  - lib/httpx/parser/http1.rb
143
157
  - lib/httpx/plugins/authentication.rb
158
+ - lib/httpx/plugins/aws_sdk_authentication.rb
159
+ - lib/httpx/plugins/aws_sigv4.rb
144
160
  - lib/httpx/plugins/basic_authentication.rb
145
161
  - lib/httpx/plugins/compression.rb
146
162
  - lib/httpx/plugins/compression/brotli.rb
@@ -153,7 +169,11 @@ files:
153
169
  - lib/httpx/plugins/digest_authentication.rb
154
170
  - lib/httpx/plugins/expect.rb
155
171
  - lib/httpx/plugins/follow_redirects.rb
172
+ - lib/httpx/plugins/grpc.rb
173
+ - lib/httpx/plugins/grpc/call.rb
174
+ - lib/httpx/plugins/grpc/message.rb
156
175
  - lib/httpx/plugins/h2c.rb
176
+ - lib/httpx/plugins/internal_telemetry.rb
157
177
  - lib/httpx/plugins/multipart.rb
158
178
  - lib/httpx/plugins/multipart/encoder.rb
159
179
  - lib/httpx/plugins/multipart/mime_type_detector.rb
@@ -168,6 +188,8 @@ files:
168
188
  - lib/httpx/plugins/rate_limiter.rb
169
189
  - lib/httpx/plugins/retries.rb
170
190
  - lib/httpx/plugins/stream.rb
191
+ - lib/httpx/plugins/upgrade.rb
192
+ - lib/httpx/plugins/upgrade/h2.rb
171
193
  - lib/httpx/pool.rb
172
194
  - lib/httpx/registry.rb
173
195
  - lib/httpx/request.rb
@@ -179,7 +201,6 @@ files:
179
201
  - lib/httpx/response.rb
180
202
  - lib/httpx/selector.rb
181
203
  - lib/httpx/session.rb
182
- - lib/httpx/timeout.rb
183
204
  - lib/httpx/transcoder.rb
184
205
  - lib/httpx/transcoder/body.rb
185
206
  - lib/httpx/transcoder/chunker.rb
@@ -201,6 +222,8 @@ files:
201
222
  - sig/options.rbs
202
223
  - sig/parser/http1.rbs
203
224
  - sig/plugins/authentication.rbs
225
+ - sig/plugins/aws_sdk_authentication.rbs
226
+ - sig/plugins/aws_sigv4.rbs
204
227
  - sig/plugins/basic_authentication.rbs
205
228
  - sig/plugins/compression.rbs
206
229
  - sig/plugins/compression/brotli.rbs
@@ -224,6 +247,7 @@ files:
224
247
  - sig/plugins/rate_limiter.rbs
225
248
  - sig/plugins/retries.rbs
226
249
  - sig/plugins/stream.rbs
250
+ - sig/plugins/upgrade.rbs
227
251
  - sig/pool.rbs
228
252
  - sig/registry.rbs
229
253
  - sig/request.rbs
@@ -235,7 +259,6 @@ files:
235
259
  - sig/response.rbs
236
260
  - sig/selector.rbs
237
261
  - sig/session.rbs
238
- - sig/timeout.rbs
239
262
  - sig/transcoder.rbs
240
263
  - sig/transcoder/body.rbs
241
264
  - sig/transcoder/chunker.rbs
@@ -264,7 +287,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
264
287
  - !ruby/object:Gem::Version
265
288
  version: '0'
266
289
  requirements: []
267
- rubygems_version: 3.2.3
290
+ rubygems_version: 3.1.6
268
291
  signing_key:
269
292
  specification_version: 4
270
293
  summary: HTTPX, to the future, and beyond