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.
- checksums.yaml +4 -4
- data/doc/release_notes/0_16_0.md +93 -0
- data/doc/release_notes/0_16_1.md +5 -0
- data/doc/release_notes/0_17_0.md +49 -0
- data/doc/release_notes/0_18_0.md +69 -0
- data/lib/httpx/adapters/datadog.rb +1 -1
- data/lib/httpx/adapters/faraday.rb +8 -14
- data/lib/httpx/adapters/webmock.rb +9 -3
- data/lib/httpx/altsvc.rb +2 -2
- data/lib/httpx/buffer.rb +1 -1
- data/lib/httpx/callbacks.rb +1 -1
- data/lib/httpx/chainable.rb +18 -11
- data/lib/httpx/connection/http1.rb +21 -13
- data/lib/httpx/connection/http2.rb +20 -25
- data/lib/httpx/connection.rb +73 -77
- data/lib/httpx/domain_name.rb +1 -1
- data/lib/httpx/errors.rb +11 -11
- data/lib/httpx/extensions.rb +50 -4
- data/lib/httpx/headers.rb +1 -1
- data/lib/httpx/io/ssl.rb +3 -3
- data/lib/httpx/io/tls.rb +8 -8
- data/lib/httpx/loggable.rb +5 -5
- data/lib/httpx/options.rb +108 -81
- data/lib/httpx/parser/http1.rb +11 -7
- data/lib/httpx/plugins/aws_sdk_authentication.rb +42 -18
- data/lib/httpx/plugins/aws_sigv4.rb +19 -20
- data/lib/httpx/plugins/compression.rb +17 -14
- data/lib/httpx/plugins/cookies/cookie.rb +4 -2
- data/lib/httpx/plugins/cookies/jar.rb +21 -2
- data/lib/httpx/plugins/cookies.rb +20 -7
- data/lib/httpx/plugins/digest_authentication.rb +19 -15
- data/lib/httpx/plugins/expect.rb +26 -18
- data/lib/httpx/plugins/follow_redirects.rb +9 -9
- data/lib/httpx/plugins/grpc/call.rb +4 -1
- data/lib/httpx/plugins/grpc/message.rb +2 -2
- data/lib/httpx/plugins/grpc.rb +72 -46
- data/lib/httpx/plugins/h2c.rb +7 -3
- data/lib/httpx/plugins/internal_telemetry.rb +8 -8
- data/lib/httpx/plugins/multipart/decoder.rb +187 -0
- data/lib/httpx/plugins/multipart/mime_type_detector.rb +3 -3
- data/lib/httpx/plugins/multipart/part.rb +2 -2
- data/lib/httpx/plugins/multipart.rb +16 -2
- data/lib/httpx/plugins/ntlm_authentication.rb +12 -10
- data/lib/httpx/plugins/proxy/socks4.rb +2 -1
- data/lib/httpx/plugins/proxy/socks5.rb +2 -1
- data/lib/httpx/plugins/proxy/ssh.rb +20 -13
- data/lib/httpx/plugins/proxy.rb +10 -10
- data/lib/httpx/plugins/response_cache/store.rb +55 -0
- data/lib/httpx/plugins/response_cache.rb +88 -0
- data/lib/httpx/plugins/retries.rb +46 -23
- data/lib/httpx/plugins/stream.rb +3 -4
- data/lib/httpx/plugins/upgrade.rb +7 -6
- data/lib/httpx/pool.rb +39 -13
- data/lib/httpx/registry.rb +2 -2
- data/lib/httpx/request.rb +16 -25
- data/lib/httpx/resolver/https.rb +4 -8
- data/lib/httpx/resolver/native.rb +19 -5
- data/lib/httpx/resolver/resolver_mixin.rb +2 -1
- data/lib/httpx/resolver/system.rb +2 -0
- data/lib/httpx/resolver.rb +2 -2
- data/lib/httpx/response.rb +91 -48
- data/lib/httpx/selector.rb +11 -24
- data/lib/httpx/session.rb +41 -23
- data/lib/httpx/session2.rb +23 -0
- data/lib/httpx/timers.rb +84 -0
- data/lib/httpx/transcoder/body.rb +3 -2
- data/lib/httpx/transcoder/chunker.rb +2 -1
- data/lib/httpx/transcoder/form.rb +20 -0
- data/lib/httpx/transcoder/json.rb +12 -0
- data/lib/httpx/transcoder.rb +62 -1
- data/lib/httpx/utils.rb +10 -2
- data/lib/httpx/version.rb +1 -1
- data/lib/httpx.rb +7 -3
- data/sig/buffer.rbs +3 -1
- data/sig/chainable.rbs +31 -29
- data/sig/connection/http1.rbs +11 -5
- data/sig/connection/http2.rbs +16 -5
- data/sig/connection.rbs +31 -13
- data/sig/errors.rbs +35 -1
- data/sig/headers.rbs +20 -19
- data/sig/httpx.rbs +4 -1
- data/sig/loggable.rbs +3 -1
- data/sig/options.rbs +45 -34
- data/sig/parser/http1.rbs +3 -3
- data/sig/plugins/authentication.rbs +1 -1
- data/sig/plugins/aws_sdk_authentication.rbs +25 -3
- data/sig/plugins/aws_sigv4.rbs +13 -5
- data/sig/plugins/basic_authentication.rbs +1 -1
- data/sig/plugins/compression.rbs +4 -6
- data/sig/plugins/cookies/cookie.rbs +5 -7
- data/sig/plugins/cookies/jar.rbs +9 -10
- data/sig/plugins/cookies.rbs +4 -5
- data/sig/plugins/digest_authentication.rbs +2 -3
- data/sig/plugins/expect.rbs +2 -4
- data/sig/plugins/follow_redirects.rbs +3 -5
- data/sig/plugins/grpc.rbs +4 -7
- data/sig/plugins/h2c.rbs +0 -2
- data/sig/plugins/multipart.rbs +64 -10
- data/sig/plugins/ntlm_authentication.rbs +2 -3
- data/sig/plugins/persistent.rbs +3 -8
- data/sig/plugins/proxy/ssh.rbs +4 -4
- data/sig/plugins/proxy.rbs +13 -13
- data/sig/plugins/push_promise.rbs +0 -2
- data/sig/plugins/response_cache.rbs +35 -0
- data/sig/plugins/retries.rbs +7 -8
- data/sig/plugins/stream.rbs +1 -1
- data/sig/plugins/upgrade.rbs +2 -3
- data/sig/pool.rbs +7 -2
- data/sig/registry.rbs +1 -1
- data/sig/request.rbs +11 -8
- data/sig/resolver/native.rbs +10 -5
- data/sig/resolver/resolver_mixin.rbs +4 -5
- data/sig/resolver/system.rbs +4 -0
- data/sig/resolver.rbs +7 -0
- data/sig/response.rbs +26 -13
- data/sig/selector.rbs +11 -9
- data/sig/session.rbs +22 -23
- data/sig/timers.rbs +32 -0
- data/sig/transcoder/body.rbs +6 -1
- data/sig/transcoder/chunker.rbs +8 -2
- data/sig/transcoder/form.rbs +3 -1
- data/sig/transcoder/json.rbs +2 -0
- data/sig/transcoder.rbs +13 -5
- data/sig/utils.rbs +6 -0
- metadata +18 -18
- 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
|
data/sig/resolver/system.rbs
CHANGED
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: () ->
|
|
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:
|
|
12
|
-
attr_reader 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: () ->
|
|
25
|
+
def uri: () -> URI::Generic
|
|
22
26
|
|
|
23
|
-
def merge_headers: (
|
|
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,
|
|
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: (
|
|
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,
|
|
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) ->
|
|
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
|
|
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
|
-
|
|
4
|
-
WRITABLE: :w | :rw
|
|
5
|
-
@selectables: Array[_ToIO]
|
|
3
|
+
type selectable = Connection | Resolver::Native | Resolver::HTTPS
|
|
6
4
|
|
|
7
|
-
|
|
8
|
-
|
|
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?) { (
|
|
17
|
-
def select_one: (Numeric?) { (
|
|
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
|
-
|
|
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
|
-
|
|
15
|
-
|
|
8
|
+
@options: Options
|
|
9
|
+
@responses: Hash[Request, response]
|
|
10
|
+
@persistent: bool?
|
|
16
11
|
|
|
17
|
-
def
|
|
12
|
+
def self.plugin: (Symbol | Module plugin, ?options? options) ?{ (Class) -> void } -> singleton(Session)
|
|
18
13
|
|
|
19
|
-
def self.
|
|
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
|
|
20
|
+
def build_request: (String | verb, generic_uri, ?options) -> Request
|
|
25
21
|
|
|
26
22
|
private
|
|
27
23
|
|
|
28
|
-
def initialize: (?options
|
|
29
|
-
| (?options
|
|
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,
|
|
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]
|
|
43
|
-
| (verb | string, _Each[uri
|
|
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
|
|
46
|
+
def send_requests: (*Request) -> Array[response]
|
|
48
47
|
|
|
49
|
-
def _send_requests: (Array[Request]
|
|
48
|
+
def _send_requests: (Array[Request]) -> Array[Connection]
|
|
50
49
|
|
|
51
|
-
def receive_requests: (Array[Request], Array[Connection]
|
|
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
|
data/sig/transcoder/body.rbs
CHANGED
|
@@ -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
|
|
19
|
+
def initialize: (untyped body) -> untyped
|
|
15
20
|
end
|
|
16
21
|
|
|
17
22
|
def self?.encode: (bodyIO body) -> Encoder
|
data/sig/transcoder/chunker.rbs
CHANGED
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
module HTTPX::Transcoder
|
|
2
2
|
module Chunker
|
|
3
|
-
|
|
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: (
|
|
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
|
|
data/sig/transcoder/form.rbs
CHANGED
|
@@ -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[[
|
|
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
|
|
data/sig/transcoder/json.rbs
CHANGED
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
|
-
|
|
5
|
+
def self?.registry: (String tag) -> _Encode
|
|
6
|
+
| () -> Hash[String, _Encode]
|
|
6
7
|
|
|
7
|
-
def self
|
|
8
|
-
|
|
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
|
|
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.
|
|
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-
|
|
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.
|
|
318
|
+
rubygems_version: 3.2.22
|
|
319
319
|
signing_key:
|
|
320
320
|
specification_version: 4
|
|
321
321
|
summary: HTTPX, to the future, and beyond
|
data/lib/httpx/request2.rb
DELETED