httpx 0.15.4 → 0.18.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 (126) hide show
  1. checksums.yaml +4 -4
  2. data/doc/release_notes/0_16_0.md +93 -0
  3. data/doc/release_notes/0_16_1.md +5 -0
  4. data/doc/release_notes/0_17_0.md +49 -0
  5. data/doc/release_notes/0_18_0.md +69 -0
  6. data/lib/httpx/adapters/datadog.rb +1 -1
  7. data/lib/httpx/adapters/faraday.rb +8 -14
  8. data/lib/httpx/adapters/webmock.rb +9 -3
  9. data/lib/httpx/altsvc.rb +2 -2
  10. data/lib/httpx/buffer.rb +1 -1
  11. data/lib/httpx/callbacks.rb +1 -1
  12. data/lib/httpx/chainable.rb +18 -11
  13. data/lib/httpx/connection/http1.rb +21 -13
  14. data/lib/httpx/connection/http2.rb +20 -25
  15. data/lib/httpx/connection.rb +73 -77
  16. data/lib/httpx/domain_name.rb +1 -1
  17. data/lib/httpx/errors.rb +11 -11
  18. data/lib/httpx/extensions.rb +50 -4
  19. data/lib/httpx/headers.rb +1 -1
  20. data/lib/httpx/io/ssl.rb +3 -3
  21. data/lib/httpx/io/tls.rb +8 -8
  22. data/lib/httpx/loggable.rb +5 -5
  23. data/lib/httpx/options.rb +108 -81
  24. data/lib/httpx/parser/http1.rb +11 -7
  25. data/lib/httpx/plugins/aws_sdk_authentication.rb +42 -18
  26. data/lib/httpx/plugins/aws_sigv4.rb +19 -20
  27. data/lib/httpx/plugins/compression.rb +17 -14
  28. data/lib/httpx/plugins/cookies/cookie.rb +4 -2
  29. data/lib/httpx/plugins/cookies/jar.rb +21 -2
  30. data/lib/httpx/plugins/cookies.rb +20 -7
  31. data/lib/httpx/plugins/digest_authentication.rb +19 -15
  32. data/lib/httpx/plugins/expect.rb +26 -18
  33. data/lib/httpx/plugins/follow_redirects.rb +9 -9
  34. data/lib/httpx/plugins/grpc/call.rb +4 -1
  35. data/lib/httpx/plugins/grpc/message.rb +2 -2
  36. data/lib/httpx/plugins/grpc.rb +72 -46
  37. data/lib/httpx/plugins/h2c.rb +7 -3
  38. data/lib/httpx/plugins/internal_telemetry.rb +8 -8
  39. data/lib/httpx/plugins/multipart/decoder.rb +187 -0
  40. data/lib/httpx/plugins/multipart/mime_type_detector.rb +3 -3
  41. data/lib/httpx/plugins/multipart/part.rb +2 -2
  42. data/lib/httpx/plugins/multipart.rb +16 -2
  43. data/lib/httpx/plugins/ntlm_authentication.rb +12 -10
  44. data/lib/httpx/plugins/proxy/socks4.rb +2 -1
  45. data/lib/httpx/plugins/proxy/socks5.rb +2 -1
  46. data/lib/httpx/plugins/proxy/ssh.rb +20 -13
  47. data/lib/httpx/plugins/proxy.rb +10 -10
  48. data/lib/httpx/plugins/response_cache/store.rb +55 -0
  49. data/lib/httpx/plugins/response_cache.rb +88 -0
  50. data/lib/httpx/plugins/retries.rb +46 -23
  51. data/lib/httpx/plugins/stream.rb +3 -4
  52. data/lib/httpx/plugins/upgrade.rb +7 -6
  53. data/lib/httpx/pool.rb +39 -13
  54. data/lib/httpx/registry.rb +2 -2
  55. data/lib/httpx/request.rb +16 -25
  56. data/lib/httpx/resolver/https.rb +4 -8
  57. data/lib/httpx/resolver/native.rb +19 -5
  58. data/lib/httpx/resolver/resolver_mixin.rb +2 -1
  59. data/lib/httpx/resolver/system.rb +2 -0
  60. data/lib/httpx/resolver.rb +2 -2
  61. data/lib/httpx/response.rb +91 -48
  62. data/lib/httpx/selector.rb +11 -24
  63. data/lib/httpx/session.rb +41 -23
  64. data/lib/httpx/session2.rb +23 -0
  65. data/lib/httpx/timers.rb +84 -0
  66. data/lib/httpx/transcoder/body.rb +3 -2
  67. data/lib/httpx/transcoder/chunker.rb +2 -1
  68. data/lib/httpx/transcoder/form.rb +20 -0
  69. data/lib/httpx/transcoder/json.rb +12 -0
  70. data/lib/httpx/transcoder.rb +62 -1
  71. data/lib/httpx/utils.rb +10 -2
  72. data/lib/httpx/version.rb +1 -1
  73. data/lib/httpx.rb +7 -3
  74. data/sig/buffer.rbs +3 -1
  75. data/sig/chainable.rbs +31 -29
  76. data/sig/connection/http1.rbs +11 -5
  77. data/sig/connection/http2.rbs +16 -5
  78. data/sig/connection.rbs +31 -13
  79. data/sig/errors.rbs +35 -1
  80. data/sig/headers.rbs +20 -19
  81. data/sig/httpx.rbs +4 -1
  82. data/sig/loggable.rbs +3 -1
  83. data/sig/options.rbs +45 -34
  84. data/sig/parser/http1.rbs +3 -3
  85. data/sig/plugins/authentication.rbs +1 -1
  86. data/sig/plugins/aws_sdk_authentication.rbs +25 -3
  87. data/sig/plugins/aws_sigv4.rbs +13 -5
  88. data/sig/plugins/basic_authentication.rbs +1 -1
  89. data/sig/plugins/compression.rbs +4 -6
  90. data/sig/plugins/cookies/cookie.rbs +5 -7
  91. data/sig/plugins/cookies/jar.rbs +9 -10
  92. data/sig/plugins/cookies.rbs +4 -5
  93. data/sig/plugins/digest_authentication.rbs +2 -3
  94. data/sig/plugins/expect.rbs +2 -4
  95. data/sig/plugins/follow_redirects.rbs +3 -5
  96. data/sig/plugins/grpc.rbs +4 -7
  97. data/sig/plugins/h2c.rbs +0 -2
  98. data/sig/plugins/multipart.rbs +64 -10
  99. data/sig/plugins/ntlm_authentication.rbs +2 -3
  100. data/sig/plugins/persistent.rbs +3 -8
  101. data/sig/plugins/proxy/ssh.rbs +4 -4
  102. data/sig/plugins/proxy.rbs +13 -13
  103. data/sig/plugins/push_promise.rbs +0 -2
  104. data/sig/plugins/response_cache.rbs +35 -0
  105. data/sig/plugins/retries.rbs +7 -8
  106. data/sig/plugins/stream.rbs +1 -1
  107. data/sig/plugins/upgrade.rbs +2 -3
  108. data/sig/pool.rbs +7 -2
  109. data/sig/registry.rbs +1 -1
  110. data/sig/request.rbs +11 -8
  111. data/sig/resolver/native.rbs +10 -5
  112. data/sig/resolver/resolver_mixin.rbs +4 -5
  113. data/sig/resolver/system.rbs +4 -0
  114. data/sig/resolver.rbs +7 -0
  115. data/sig/response.rbs +26 -13
  116. data/sig/selector.rbs +11 -9
  117. data/sig/session.rbs +22 -23
  118. data/sig/timers.rbs +32 -0
  119. data/sig/transcoder/body.rbs +6 -1
  120. data/sig/transcoder/chunker.rbs +8 -2
  121. data/sig/transcoder/form.rbs +3 -1
  122. data/sig/transcoder/json.rbs +2 -0
  123. data/sig/transcoder.rbs +13 -5
  124. data/sig/utils.rbs +6 -0
  125. metadata +18 -18
  126. data/lib/httpx/request2.rb +0 -14
@@ -4,6 +4,8 @@ module HTTPX
4
4
  include Callbacks
5
5
  include Loggable
6
6
 
7
+ CHECK_IF_IP: ^(String name) -> bool
8
+
7
9
  def uncache: (Connection) -> void
8
10
 
9
11
  private
@@ -16,12 +18,9 @@ module HTTPX
16
18
 
17
19
  def system_resolve: (String hostname) -> Array[ipaddr]?
18
20
 
19
- def emit_resolve_error: (Connection, String hostname, StandardError) -> void
20
- | (Connection, String hostname) -> void
21
- | (Connection) -> void
21
+ def emit_resolve_error: (Connection, ?String hostname, ?StandardError) -> void
22
22
 
23
- def resolve_error: (String hostname, StandardError?) -> void
24
- | (String hostname) -> void
23
+ def resolve_error: (String hostname, ?StandardError?) -> void
25
24
  end
26
25
  end
27
26
  end
@@ -3,6 +3,10 @@ module HTTPX
3
3
  class System
4
4
  include ResolverMixin
5
5
 
6
+ RESOLV_ERRORS: Array[singleton(StandardError)] # ResolvError
7
+
8
+ attr_reader state: Symbol
9
+
6
10
  def closed?: () -> true
7
11
 
8
12
  def empty?: () -> true
data/sig/resolver.rbs CHANGED
@@ -4,6 +4,13 @@ module HTTPX
4
4
  type resolver = Resolver::System | Resolver::Native | Resolver::HTTPS
5
5
 
6
6
  module Resolver
7
+ RESOLVE_TIMEOUT: Integer | Float
8
+
9
+ def self.registry: (Symbol tag) -> Class
10
+ | () -> Hash[Symbol, Class]
11
+
12
+ def self.register: (Symbol tag, Class handler) -> void
13
+
7
14
  type dns_resource = singleton(Resolv::DNS::Resource)
8
15
 
9
16
  type dns_result = { "name" => String, "TTL" => Numeric, "alias" => String }
data/sig/response.rbs CHANGED
@@ -1,15 +1,19 @@
1
1
  module HTTPX
2
2
  interface _Response
3
- def raise_for_status: () -> void
3
+ def raise_for_status: () -> self
4
+
5
+ def error: () -> StandardError?
4
6
  end
5
7
 
6
8
  class Response
9
+ extend Forwardable
10
+
7
11
  include _Response
8
12
  include _ToS
9
13
  include _Reader
10
14
 
11
- attr_reader status: int
12
- attr_reader headers: headers
15
+ attr_reader status: Integer
16
+ attr_reader headers: Headers
13
17
  attr_reader body: Body
14
18
  attr_reader version: String
15
19
 
@@ -18,56 +22,66 @@ module HTTPX
18
22
 
19
23
  def copy_to: (_ToPath | _Writer destination) -> void
20
24
  def close: () -> void
21
- def uri: () -> uri
25
+ def uri: () -> URI::Generic
22
26
 
23
- def merge_headers: (headers) -> void
27
+ def merge_headers: (_Each[[String, headers_value]]) -> void
24
28
  def bodyless?: () -> bool
25
29
  def content_type: () -> ContentType
26
30
  def complete?: () -> bool
27
31
 
32
+ def json: (?json_options opts) -> untyped
33
+
34
+ def form: () -> Hash[String, untyped]
35
+
28
36
  private
29
37
 
30
- def initialize: (Request, _ToS, String, headers?) -> untyped
38
+ def initialize: (Request request, String | Integer status, String version, headers?) -> untyped
31
39
  def no_data?: () -> bool
32
40
 
41
+ def decode:(String format, ?untyped options) -> untyped
42
+
33
43
  class Body
34
- include _Writer
35
44
  include _Reader
36
45
  include _ToS
37
46
  include _ToStr
38
47
 
39
- @state: :idle | :memory | :buffer
48
+ @state: :idle | :memory | :buffer | :closed
40
49
  @threshold_size: Integer
41
50
  @window_size: Integer
42
51
 
52
+ def write:(String chunk) -> Integer?
53
+
43
54
  def each: () { (String) -> void } -> void
44
55
  | () -> Enumerable[String]
45
56
 
46
57
  def bytesize: () -> Numeric
47
58
  def empty?: () -> bool
48
- def copy_to: (_ToPath | _Writer destination) -> void
59
+ def copy_to: (String | File | _Writer destination) -> void
49
60
  def close: () -> void
50
61
  def closed?: () -> bool
51
62
 
52
63
  private
53
64
 
54
- def initialize: (Response, options) -> untyped
65
+ def initialize: (Response, Options) -> untyped
55
66
  def rewind: () -> void
56
67
  def transition: () -> void
57
68
  end
58
69
  end
59
70
 
60
71
  class ContentType
72
+ MIME_TYPE_RE: Regexp
73
+ CHARSET_RE: Regexp
74
+
61
75
  attr_reader mime_type: String?
62
76
  attr_reader charset: String?
63
77
 
64
- def self.parse: (_ToS) -> instance
78
+ def self.parse: (_ToS) -> ContentType
65
79
  def self.mime_type: (_ToS) -> String?
66
80
  def self.charset: (_ToS) -> String?
67
81
 
68
82
  private
69
83
 
70
- def initialize: (String?, String?) -> untyped
84
+ def initialize: (String? header_value) -> void
71
85
  end
72
86
 
73
87
  class ErrorResponse
@@ -77,7 +91,6 @@ module HTTPX
77
91
  @options: Options
78
92
 
79
93
  attr_reader request: Request
80
- attr_reader error: Exception
81
94
 
82
95
  def status: () -> (Integer | _ToS)
83
96
 
data/sig/selector.rbs CHANGED
@@ -1,20 +1,22 @@
1
1
  module HTTPX
2
2
  class Selector
3
- READABLE: :r | :rw
4
- WRITABLE: :w | :rw
5
- @selectables: Array[_ToIO]
3
+ type selectable = Connection | Resolver::Native | Resolver::HTTPS
6
4
 
7
- def register: (_ToIO) -> void
8
- def deregister: (_ToIO) -> void
5
+ READABLE: Array[Symbol]
6
+ WRITABLE: Array[Symbol]
7
+ @selectables: Array[selectable]
8
+
9
+ def register: (selectable) -> void
10
+ def deregister: (selectable) -> void
11
+
12
+ def select: (Numeric? interval) { (selectable) -> void } -> void
9
13
 
10
- def select: (Numeric?) { (_ToIO) -> void } -> void
11
-
12
14
  private
13
15
 
14
16
  def initialize: () -> untyped
15
17
 
16
- def select_many: (Numeric?) { (_ToIO) -> void } -> void
17
- def select_one: (Numeric?) { (_ToIO) -> void } -> void
18
+ def select_many: (Numeric? interval) { (selectable) -> void } -> void
19
+ def select_one: (Numeric? interval) { (selectable) -> void } -> void
18
20
  end
19
21
 
20
22
  type io_interests = :r | :w | :rw
data/sig/session.rbs CHANGED
@@ -3,51 +3,50 @@ module HTTPX
3
3
  include Loggable
4
4
  include Chainable
5
5
 
6
- @options: Options
7
- @responses: Hash[Request, Response]
8
- @persistent: bool
9
-
10
- def wrap: () { (instance) -> void } -> void
11
- | () -> void
12
- def close: (*untyped) -> void
6
+ EMPTY_HASH: Hash[untyped, untyped]
13
7
 
14
- def request: (*Request, **untyped) -> (response | Array[response])
15
- | (*untyped, **untyped) -> (response | Array[response])
8
+ @options: Options
9
+ @responses: Hash[Request, response]
10
+ @persistent: bool?
16
11
 
17
- def build_request: (String | verb, uri, ?options) -> Request
12
+ def self.plugin: (Symbol | Module plugin, ?options? options) ?{ (Class) -> void } -> singleton(Session)
18
13
 
19
- def self.plugin: (Symbol | Module, ?options) { (Class) -> void } -> singleton(Session)
20
- | (Symbol | Module, ?options) -> singleton(Session)
14
+ def self.default_options: -> Options
21
15
 
16
+ def wrap: () { (instance) -> void } -> void
22
17
 
18
+ def close: (*untyped) -> void
23
19
 
24
- def self.default_options: -> Options
20
+ def build_request: (String | verb, generic_uri, ?options) -> Request
25
21
 
26
22
  private
27
23
 
28
- def initialize: (?options?) { (instance) -> void } -> untyped
29
- | (?options?) -> untyped
24
+ def initialize: (?options) { (self) -> void } -> untyped
25
+ | (?options) -> untyped
30
26
 
31
27
  def pool: -> Pool
32
28
  def on_response: (Request, response) -> void
33
29
  def on_promise: (untyped, untyped) -> void
34
- def fetch_response: (Request, *untyped) -> response?
30
+ def fetch_response: (Request request, untyped, untyped) -> response?
31
+
32
+ def find_connection: (Request, Array[Connection] connections, Options options) -> Connection
33
+
35
34
  def set_connection_callbacks: (Connection, Array[Connection], Options) -> void
36
35
 
37
- def build_altsvc_connection: (Connection, Array[Connection], URI, String, Hash[String, String], Options) -> Connection?
36
+ def build_altsvc_connection: (Connection, Array[Connection], URI::Generic, String, Hash[String, String], Options) -> Connection?
38
37
 
39
38
  def build_requests: (verb | string, uri, options) -> Array[Request]
40
39
  | (Array[[verb | string, uri, options]], options) -> Array[Request]
41
40
  | (Array[[verb | string, uri]], options) -> Array[Request]
42
- | (verb | string, _Each[[uri, options], void], Options) -> Array[Request]
43
- | (verb | string, _Each[uri, void], options) -> Array[Request]
41
+ | (verb | string, _Each[[uri, options]], Options) -> Array[Request]
42
+ | (verb | string, _Each[uri], options) -> Array[Request]
44
43
 
45
- def build_connection: (URI, Options) -> Connection
44
+ def build_connection: (URI::Generic, Options) -> Connection
46
45
 
47
- def send_requests: (*Request, options) -> Array[response]
46
+ def send_requests: (*Request) -> Array[response]
48
47
 
49
- def _send_requests: (Array[Request], options) -> Array[Connection]
48
+ def _send_requests: (Array[Request]) -> Array[Connection]
50
49
 
51
- def receive_requests: (Array[Request], Array[Connection], options) -> Array[response]
50
+ def receive_requests: (Array[Request], Array[Connection]) -> Array[response]
52
51
  end
53
52
  end
data/sig/timers.rbs ADDED
@@ -0,0 +1,32 @@
1
+ module HTTPX
2
+ class Timers
3
+ @interval: Array[Interval]
4
+
5
+ def after: (Numeric interval_in_secs) { () -> void } -> void
6
+
7
+ def wait_interval: () -> Numeric?
8
+
9
+ def fire: (?StandardError error) -> void
10
+
11
+ def cancel: () -> void
12
+
13
+ private
14
+
15
+ def initialize: () -> void
16
+
17
+ class Interval
18
+ include Comparable
19
+
20
+ attr_reader interval: Numeric
21
+
22
+ def to_f: () -> Float
23
+
24
+ def <<: (^() -> void) -> void
25
+
26
+ def elapse: (Numeric elapsed) -> Numeric
27
+ private
28
+
29
+ def initialize: (Numeric interval) -> void
30
+ end
31
+ end
32
+ end
@@ -1,7 +1,12 @@
1
1
  module HTTPX
2
2
  module Transcoder
3
3
  module Body
4
+ class Error < HTTPX::Error
5
+ end
6
+
4
7
  class Encoder
8
+ extend Forwardable
9
+
5
10
  include _Encoder
6
11
  include _ToS
7
12
 
@@ -11,7 +16,7 @@ module HTTPX
11
16
 
12
17
  private
13
18
 
14
- def initialize: (untyped body ) -> untyped
19
+ def initialize: (untyped body) -> untyped
15
20
  end
16
21
 
17
22
  def self?.encode: (bodyIO body) -> Encoder
@@ -1,6 +1,11 @@
1
1
  module HTTPX::Transcoder
2
2
  module Chunker
3
- def self?.encode: (_Encoder chunks) -> Encoder
3
+ CRLF: String
4
+
5
+ class Error < HTTPX::Error
6
+ end
7
+
8
+ def self?.encode: (_Each[String] chunks) -> Encoder
4
9
 
5
10
  class Encoder
6
11
  @raw: _Each[String]
@@ -9,10 +14,11 @@ module HTTPX::Transcoder
9
14
 
10
15
  private
11
16
 
12
- def initialize: (_Encoder chunks) -> untyped
17
+ def initialize: (_Each[String] chunks) -> untyped
13
18
  end
14
19
 
15
20
  class Decoder
21
+ extend Forwardable
16
22
  include _ToS
17
23
  include _Each[String]
18
24
 
@@ -3,12 +3,14 @@ module HTTPX::Transcoder
3
3
 
4
4
  type form_nested_value = form_value | _ToAry[form_value] | _ToHash[string, form_value]
5
5
 
6
- type urlencoded_input = Enumerable[[string, form_nested_value], untyped]
6
+ type urlencoded_input = Enumerable[[_ToS, form_nested_value]]
7
7
 
8
8
  module Form
9
9
  def self?.encode: (urlencoded_input form) -> Encoder
10
+ def self?.decode: (HTTPX::Response response) -> _Decoder
10
11
 
11
12
  class Encoder
13
+ extend Forwardable
12
14
  include _Encoder
13
15
  include _ToS
14
16
 
@@ -1,8 +1,10 @@
1
1
  module HTTPX::Transcoder
2
2
  module JSON
3
3
  def self?.encode: (_ToJson json) -> Encoder
4
+ def self?.decode: (HTTPX::Response response) -> _Decoder
4
5
 
5
6
  class Encoder
7
+ extend Forwardable
6
8
  include _Encoder
7
9
  include _ToS
8
10
 
data/sig/transcoder.rbs CHANGED
@@ -1,18 +1,26 @@
1
1
  module HTTPX
2
- type bodyIO = _Reader | _Each[String, untyped] | _ToS
2
+ type bodyIO = _Reader | _Each[[String, untyped]] | _ToS
3
3
 
4
4
  module Transcoder
5
- extend HTTPX::Registry[String, Class]
5
+ def self?.registry: (String tag) -> _Encode
6
+ | () -> Hash[String, _Encode]
6
7
 
7
- def self.normalize_keys: (string | Symbol, top, ?Proc?) { (string, top) -> void } -> void
8
- | (string | Symbol, top, ?Proc?) { (string) -> void } -> void
8
+ def self?.register: (String tag, _Encode handler) -> void
9
+
10
+ def self?.normalize_keys: [U] (_ToS key, _ToAry[untyped] | _ToHash[_ToS, untyped] | untyped value, ?(^(untyped value) -> bool | nil) cond) { (String, ?untyped) -> U } -> U
11
+
12
+ def self?.normalize_query: (Hash[String, untyped] params, String name, String v, Integer depth) -> void
13
+
14
+ interface _Encode
15
+ def encode: (untyped payload) -> (_Encoder | _Each[String])
16
+ end
9
17
 
10
18
  interface _Encoder
11
19
  def bytesize: () -> Numeric
12
20
  end
13
21
 
14
22
  interface _Decoder
15
- def decode: (string) -> String
23
+ def call: (Response response, untyped options) -> untyped
16
24
  end
17
25
  end
18
26
  end
data/sig/utils.rbs CHANGED
@@ -1,7 +1,13 @@
1
1
  module HTTPX
2
2
  module Utils
3
+ URIParser: URI::RFC2396_Parser
4
+
3
5
  def self?.parse_retry_after: (String) -> Numeric
4
6
 
7
+ def self?.now: () -> Numeric
8
+
9
+ def self?.elapsed_time: (Numeric monotonic_time) -> Numeric
10
+
5
11
  def self?.to_uri: (generic_uri uri) -> URI::Generic
6
12
  end
7
13
  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.15.4
4
+ version: 0.18.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-07-14 00:00:00.000000000 Z
11
+ date: 2021-10-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: http-2-next
@@ -24,20 +24,6 @@ dependencies:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: 0.4.1
27
- - !ruby/object:Gem::Dependency
28
- name: timers
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - ">="
32
- - !ruby/object:Gem::Version
33
- version: '0'
34
- type: :runtime
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - ">="
39
- - !ruby/object:Gem::Version
40
- version: '0'
41
27
  description: A client library for making HTTP requests from Ruby.
42
28
  email:
43
29
  - cardoso_tiago@hotmail.com
@@ -73,6 +59,10 @@ extra_rdoc_files:
73
59
  - doc/release_notes/0_15_2.md
74
60
  - doc/release_notes/0_15_3.md
75
61
  - doc/release_notes/0_15_4.md
62
+ - doc/release_notes/0_16_0.md
63
+ - doc/release_notes/0_16_1.md
64
+ - doc/release_notes/0_17_0.md
65
+ - doc/release_notes/0_18_0.md
76
66
  - doc/release_notes/0_1_0.md
77
67
  - doc/release_notes/0_2_0.md
78
68
  - doc/release_notes/0_2_1.md
@@ -125,6 +115,10 @@ files:
125
115
  - doc/release_notes/0_15_2.md
126
116
  - doc/release_notes/0_15_3.md
127
117
  - doc/release_notes/0_15_4.md
118
+ - doc/release_notes/0_16_0.md
119
+ - doc/release_notes/0_16_1.md
120
+ - doc/release_notes/0_17_0.md
121
+ - doc/release_notes/0_18_0.md
128
122
  - doc/release_notes/0_1_0.md
129
123
  - doc/release_notes/0_2_0.md
130
124
  - doc/release_notes/0_2_1.md
@@ -195,6 +189,7 @@ files:
195
189
  - lib/httpx/plugins/h2c.rb
196
190
  - lib/httpx/plugins/internal_telemetry.rb
197
191
  - lib/httpx/plugins/multipart.rb
192
+ - lib/httpx/plugins/multipart/decoder.rb
198
193
  - lib/httpx/plugins/multipart/encoder.rb
199
194
  - lib/httpx/plugins/multipart/mime_type_detector.rb
200
195
  - lib/httpx/plugins/multipart/part.rb
@@ -207,6 +202,8 @@ files:
207
202
  - lib/httpx/plugins/proxy/ssh.rb
208
203
  - lib/httpx/plugins/push_promise.rb
209
204
  - lib/httpx/plugins/rate_limiter.rb
205
+ - lib/httpx/plugins/response_cache.rb
206
+ - lib/httpx/plugins/response_cache/store.rb
210
207
  - lib/httpx/plugins/retries.rb
211
208
  - lib/httpx/plugins/stream.rb
212
209
  - lib/httpx/plugins/upgrade.rb
@@ -216,7 +213,6 @@ files:
216
213
  - lib/httpx/punycode.rb
217
214
  - lib/httpx/registry.rb
218
215
  - lib/httpx/request.rb
219
- - lib/httpx/request2.rb
220
216
  - lib/httpx/resolver.rb
221
217
  - lib/httpx/resolver/https.rb
222
218
  - lib/httpx/resolver/native.rb
@@ -225,6 +221,8 @@ files:
225
221
  - lib/httpx/response.rb
226
222
  - lib/httpx/selector.rb
227
223
  - lib/httpx/session.rb
224
+ - lib/httpx/session2.rb
225
+ - lib/httpx/timers.rb
228
226
  - lib/httpx/transcoder.rb
229
227
  - lib/httpx/transcoder/body.rb
230
228
  - lib/httpx/transcoder/chunker.rb
@@ -271,6 +269,7 @@ files:
271
269
  - sig/plugins/proxy/ssh.rbs
272
270
  - sig/plugins/push_promise.rbs
273
271
  - sig/plugins/rate_limiter.rbs
272
+ - sig/plugins/response_cache.rbs
274
273
  - sig/plugins/retries.rbs
275
274
  - sig/plugins/stream.rbs
276
275
  - sig/plugins/upgrade.rbs
@@ -285,6 +284,7 @@ files:
285
284
  - sig/response.rbs
286
285
  - sig/selector.rbs
287
286
  - sig/session.rbs
287
+ - sig/timers.rbs
288
288
  - sig/transcoder.rbs
289
289
  - sig/transcoder/body.rbs
290
290
  - sig/transcoder/chunker.rbs
@@ -315,7 +315,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
315
315
  - !ruby/object:Gem::Version
316
316
  version: '0'
317
317
  requirements: []
318
- rubygems_version: 3.2.15
318
+ rubygems_version: 3.2.22
319
319
  signing_key:
320
320
  specification_version: 4
321
321
  summary: HTTPX, to the future, and beyond
@@ -1,14 +0,0 @@
1
- require_relative "request"
2
- module HTTPX
3
- class Request
4
- def response=(response)
5
- return unless response
6
-
7
- if response.status == 100
8
- @informational_status = response.status
9
- return
10
- end
11
- @response = response
12
- end
13
- end
14
- end