httpx 0.9.0 → 0.11.1
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/LICENSE.txt +48 -0
- data/README.md +13 -3
- data/doc/release_notes/0_10_0.md +66 -0
- data/doc/release_notes/0_10_1.md +37 -0
- data/doc/release_notes/0_10_2.md +5 -0
- data/doc/release_notes/0_11_0.md +76 -0
- data/doc/release_notes/0_11_1.md +1 -0
- data/lib/httpx.rb +2 -0
- data/lib/httpx/adapters/datadog.rb +205 -0
- data/lib/httpx/adapters/faraday.rb +1 -3
- data/lib/httpx/adapters/webmock.rb +123 -0
- data/lib/httpx/chainable.rb +10 -9
- data/lib/httpx/connection.rb +7 -24
- data/lib/httpx/connection/http1.rb +15 -2
- data/lib/httpx/connection/http2.rb +15 -16
- data/lib/httpx/domain_name.rb +438 -0
- data/lib/httpx/errors.rb +4 -1
- data/lib/httpx/extensions.rb +21 -1
- data/lib/httpx/headers.rb +1 -0
- data/lib/httpx/io/ssl.rb +4 -9
- data/lib/httpx/io/tcp.rb +6 -5
- data/lib/httpx/io/udp.rb +8 -4
- data/lib/httpx/options.rb +2 -0
- data/lib/httpx/parser/http1.rb +14 -17
- data/lib/httpx/plugins/compression.rb +28 -63
- data/lib/httpx/plugins/compression/brotli.rb +10 -14
- data/lib/httpx/plugins/compression/deflate.rb +7 -6
- data/lib/httpx/plugins/compression/gzip.rb +23 -5
- data/lib/httpx/plugins/cookies.rb +21 -60
- data/lib/httpx/plugins/cookies/cookie.rb +173 -0
- data/lib/httpx/plugins/cookies/jar.rb +74 -0
- data/lib/httpx/plugins/cookies/set_cookie_parser.rb +142 -0
- data/lib/httpx/plugins/expect.rb +34 -11
- data/lib/httpx/plugins/follow_redirects.rb +20 -2
- data/lib/httpx/plugins/h2c.rb +1 -1
- data/lib/httpx/plugins/multipart.rb +41 -30
- data/lib/httpx/plugins/multipart/encoder.rb +115 -0
- data/lib/httpx/plugins/multipart/mime_type_detector.rb +64 -0
- data/lib/httpx/plugins/multipart/part.rb +34 -0
- data/lib/httpx/plugins/persistent.rb +6 -1
- data/lib/httpx/plugins/proxy.rb +16 -2
- data/lib/httpx/plugins/proxy/socks4.rb +14 -14
- data/lib/httpx/plugins/proxy/socks5.rb +3 -2
- data/lib/httpx/plugins/push_promise.rb +2 -2
- data/lib/httpx/plugins/rate_limiter.rb +51 -0
- data/lib/httpx/plugins/retries.rb +3 -2
- data/lib/httpx/plugins/stream.rb +109 -13
- data/lib/httpx/pool.rb +14 -20
- data/lib/httpx/request.rb +29 -31
- data/lib/httpx/resolver.rb +7 -6
- data/lib/httpx/resolver/https.rb +25 -25
- data/lib/httpx/resolver/native.rb +29 -22
- data/lib/httpx/resolver/resolver_mixin.rb +4 -2
- data/lib/httpx/resolver/system.rb +3 -3
- data/lib/httpx/response.rb +16 -23
- data/lib/httpx/selector.rb +11 -17
- data/lib/httpx/session.rb +39 -30
- data/lib/httpx/transcoder.rb +20 -0
- data/lib/httpx/transcoder/chunker.rb +0 -2
- data/lib/httpx/transcoder/form.rb +9 -7
- data/lib/httpx/transcoder/json.rb +0 -4
- data/lib/httpx/utils.rb +45 -0
- data/lib/httpx/version.rb +1 -1
- data/sig/buffer.rbs +24 -0
- data/sig/callbacks.rbs +14 -0
- data/sig/chainable.rbs +37 -0
- data/sig/connection.rbs +85 -0
- data/sig/connection/http1.rbs +66 -0
- data/sig/connection/http2.rbs +77 -0
- data/sig/domain_name.rbs +17 -0
- data/sig/errors.rbs +3 -0
- data/sig/headers.rbs +45 -0
- data/sig/httpx.rbs +15 -0
- data/sig/loggable.rbs +11 -0
- data/sig/options.rbs +118 -0
- data/sig/parser/http1.rbs +50 -0
- data/sig/plugins/authentication.rbs +11 -0
- data/sig/plugins/basic_authentication.rbs +13 -0
- data/sig/plugins/compression.rbs +55 -0
- data/sig/plugins/compression/brotli.rbs +21 -0
- data/sig/plugins/compression/deflate.rbs +17 -0
- data/sig/plugins/compression/gzip.rbs +29 -0
- data/sig/plugins/cookies.rbs +26 -0
- data/sig/plugins/cookies/cookie.rbs +50 -0
- data/sig/plugins/cookies/jar.rbs +27 -0
- data/sig/plugins/digest_authentication.rbs +33 -0
- data/sig/plugins/expect.rbs +19 -0
- data/sig/plugins/follow_redirects.rbs +37 -0
- data/sig/plugins/h2c.rbs +26 -0
- data/sig/plugins/multipart.rbs +44 -0
- data/sig/plugins/persistent.rbs +17 -0
- data/sig/plugins/proxy.rbs +47 -0
- data/sig/plugins/proxy/http.rbs +14 -0
- data/sig/plugins/proxy/socks4.rbs +33 -0
- data/sig/plugins/proxy/socks5.rbs +36 -0
- data/sig/plugins/proxy/ssh.rbs +18 -0
- data/sig/plugins/push_promise.rbs +22 -0
- data/sig/plugins/rate_limiter.rbs +11 -0
- data/sig/plugins/retries.rbs +48 -0
- data/sig/plugins/stream.rbs +39 -0
- data/sig/pool.rbs +36 -0
- data/sig/registry.rbs +9 -0
- data/sig/request.rbs +61 -0
- data/sig/resolver.rbs +26 -0
- data/sig/resolver/https.rbs +51 -0
- data/sig/resolver/native.rbs +60 -0
- data/sig/resolver/resolver_mixin.rbs +27 -0
- data/sig/resolver/system.rbs +17 -0
- data/sig/response.rbs +87 -0
- data/sig/selector.rbs +20 -0
- data/sig/session.rbs +49 -0
- data/sig/timeout.rbs +29 -0
- data/sig/transcoder.rbs +18 -0
- data/sig/transcoder/body.rbs +20 -0
- data/sig/transcoder/chunker.rbs +32 -0
- data/sig/transcoder/form.rbs +22 -0
- data/sig/transcoder/json.rbs +16 -0
- metadata +99 -59
- data/lib/httpx/resolver/options.rb +0 -25
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
module HTTPX
|
|
2
|
+
module Resolver
|
|
3
|
+
class Native
|
|
4
|
+
include ResolverMixin
|
|
5
|
+
include _ToIO
|
|
6
|
+
|
|
7
|
+
@options: Options
|
|
8
|
+
@ns_index: Integer
|
|
9
|
+
@resolver_options: Hash[Symbol, untyped]
|
|
10
|
+
@nameserver: String
|
|
11
|
+
@_timeouts: Array[Numeric]
|
|
12
|
+
@timeouts: Hash[String, Array[Numeric]]
|
|
13
|
+
@_record_types: Hash[String, Hash["A" | "AAAA", dns_resource]]
|
|
14
|
+
@connections: Array[Connection]
|
|
15
|
+
@queries: Hash[String, Connection]
|
|
16
|
+
@read_buffer: String
|
|
17
|
+
@write_buffer: Buffer
|
|
18
|
+
@state: :idle | :closed
|
|
19
|
+
|
|
20
|
+
def closed?: () -> bool
|
|
21
|
+
|
|
22
|
+
def empty?: () -> bool
|
|
23
|
+
|
|
24
|
+
def close: () -> void
|
|
25
|
+
|
|
26
|
+
def call: () -> void
|
|
27
|
+
|
|
28
|
+
def interests: () -> io_interests
|
|
29
|
+
|
|
30
|
+
def <<: (Connection) -> void
|
|
31
|
+
|
|
32
|
+
def timeout: () -> Numeric?
|
|
33
|
+
|
|
34
|
+
private
|
|
35
|
+
|
|
36
|
+
def initialize: (options) -> untyped
|
|
37
|
+
|
|
38
|
+
def consume: () -> void
|
|
39
|
+
|
|
40
|
+
def do_retry: () -> void
|
|
41
|
+
|
|
42
|
+
def dread: (Integer) -> void
|
|
43
|
+
| () -> void
|
|
44
|
+
|
|
45
|
+
def dwrite: () -> void
|
|
46
|
+
|
|
47
|
+
def parse: (String) -> void
|
|
48
|
+
|
|
49
|
+
def resolve: (Connection, String hostname) -> void
|
|
50
|
+
| (Connection) -> void
|
|
51
|
+
| () -> void
|
|
52
|
+
|
|
53
|
+
def build_socket: () -> void
|
|
54
|
+
|
|
55
|
+
def transition: (Symbol nextstate) -> void
|
|
56
|
+
|
|
57
|
+
def handle_error: (StandardError) -> void
|
|
58
|
+
end
|
|
59
|
+
end
|
|
60
|
+
end
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
module HTTPX
|
|
2
|
+
module Resolver
|
|
3
|
+
module ResolverMixin
|
|
4
|
+
include Callbacks
|
|
5
|
+
include Loggable
|
|
6
|
+
|
|
7
|
+
def uncache: (Connection) -> void
|
|
8
|
+
|
|
9
|
+
private
|
|
10
|
+
|
|
11
|
+
def emit_addresses: (Connection, Array[ipaddr]) -> void
|
|
12
|
+
|
|
13
|
+
def early_resolve: (Connection, ?hostname: String) -> void
|
|
14
|
+
|
|
15
|
+
def ip_resolve: (String hostname) -> Array[ipaddr]?
|
|
16
|
+
|
|
17
|
+
def system_resolve: (String hostname) -> Array[ipaddr]?
|
|
18
|
+
|
|
19
|
+
def emit_resolve_error: (Connection, String hostname, StandardError) -> void
|
|
20
|
+
| (Connection, String hostname) -> void
|
|
21
|
+
| (Connection) -> void
|
|
22
|
+
|
|
23
|
+
def resolve_error: (String hostname, StandardError?) -> void
|
|
24
|
+
| (String hostname) -> void
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
data/sig/response.rbs
ADDED
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
module HTTPX
|
|
2
|
+
interface _Response
|
|
3
|
+
def raise_for_status: () -> void
|
|
4
|
+
end
|
|
5
|
+
|
|
6
|
+
class Response
|
|
7
|
+
include _Response
|
|
8
|
+
include _ToS
|
|
9
|
+
include _Reader
|
|
10
|
+
|
|
11
|
+
attr_reader status: int
|
|
12
|
+
attr_reader headers: headers
|
|
13
|
+
attr_reader body: Body
|
|
14
|
+
attr_reader version: String
|
|
15
|
+
|
|
16
|
+
@options: Options
|
|
17
|
+
@request: Request
|
|
18
|
+
|
|
19
|
+
def copy_to: (_ToPath | _Writer destination) -> void
|
|
20
|
+
def close: () -> void
|
|
21
|
+
def uri: () -> uri
|
|
22
|
+
|
|
23
|
+
def merge_headers: (headers) -> void
|
|
24
|
+
def bodyless?: () -> bool
|
|
25
|
+
def content_type: () -> ContentType
|
|
26
|
+
def complete?: () -> bool
|
|
27
|
+
|
|
28
|
+
private
|
|
29
|
+
|
|
30
|
+
def initialize: (Request, _ToS, String, headers?) -> untyped
|
|
31
|
+
def no_data?: () -> bool
|
|
32
|
+
|
|
33
|
+
class Body
|
|
34
|
+
include _Writer
|
|
35
|
+
include _Reader
|
|
36
|
+
include _ToS
|
|
37
|
+
include _ToStr
|
|
38
|
+
|
|
39
|
+
@state: :idle | :memory | :buffer
|
|
40
|
+
|
|
41
|
+
def each: () { (String) -> void } -> void
|
|
42
|
+
| () -> Enumerable[String]
|
|
43
|
+
|
|
44
|
+
def bytesize: () -> Numeric
|
|
45
|
+
def empty?: () -> bool
|
|
46
|
+
def copy_to: (_ToPath | _Writer destination) -> void
|
|
47
|
+
def close: () -> void
|
|
48
|
+
|
|
49
|
+
private
|
|
50
|
+
|
|
51
|
+
def initialize: (Response, ?threshold_size: Integer, ?window_size: Integer) -> untyped
|
|
52
|
+
def rewind: () -> void
|
|
53
|
+
def transition: () -> void
|
|
54
|
+
end
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
class ContentType
|
|
58
|
+
attr_reader mime_type: String?
|
|
59
|
+
attr_reader charset: String?
|
|
60
|
+
|
|
61
|
+
def self.parse: (_ToS) -> instance
|
|
62
|
+
def self.mime_type: (_ToS) -> String?
|
|
63
|
+
def self.charset: (_ToS) -> String?
|
|
64
|
+
|
|
65
|
+
private
|
|
66
|
+
|
|
67
|
+
def initialize: (String?, String?) -> untyped
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
class ErrorResponse
|
|
71
|
+
include _Response
|
|
72
|
+
include Loggable
|
|
73
|
+
|
|
74
|
+
@options: Options
|
|
75
|
+
|
|
76
|
+
attr_reader request: Request
|
|
77
|
+
attr_reader error: Exception
|
|
78
|
+
|
|
79
|
+
def status: () -> (Integer | _ToS)
|
|
80
|
+
|
|
81
|
+
private
|
|
82
|
+
|
|
83
|
+
def initialize: (Request, Exception, options) -> untyped
|
|
84
|
+
end
|
|
85
|
+
|
|
86
|
+
type response = Response | ErrorResponse
|
|
87
|
+
end
|
data/sig/selector.rbs
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
module HTTPX
|
|
2
|
+
class Selector
|
|
3
|
+
READABLE: :r | :rw
|
|
4
|
+
WRITABLE: :w | :rw
|
|
5
|
+
|
|
6
|
+
def register: (_ToIO) -> void
|
|
7
|
+
def deregister: (_ToIO) -> void
|
|
8
|
+
|
|
9
|
+
def select: (Numeric?) { (_ToIO) -> void } -> void
|
|
10
|
+
|
|
11
|
+
private
|
|
12
|
+
|
|
13
|
+
def initialize: () -> untyped
|
|
14
|
+
|
|
15
|
+
def select_many: (Numeric?) { (_ToIO) -> void } -> void
|
|
16
|
+
def select_one: (Numeric?) { (_ToIO) -> void } -> void
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
type io_interests = :r | :w | :rw
|
|
20
|
+
end
|
data/sig/session.rbs
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
module HTTPX
|
|
2
|
+
class Session
|
|
3
|
+
include Loggable
|
|
4
|
+
include Chainable
|
|
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
|
|
13
|
+
|
|
14
|
+
def request: (*Request, **untyped) -> (response | Array[response])
|
|
15
|
+
| (*untyped, **untyped) -> (response | Array[response])
|
|
16
|
+
|
|
17
|
+
def build_request: (String | verb, uri, ?options) -> Request
|
|
18
|
+
|
|
19
|
+
def self.plugin: (Symbol | Module, ?options) { (Class) -> void } -> singleton(Session)
|
|
20
|
+
| (Symbol | Module, ?options) -> singleton(Session)
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
def self.default_options: -> Options
|
|
25
|
+
|
|
26
|
+
private
|
|
27
|
+
|
|
28
|
+
def initialize: (?options?) { (instance) -> void } -> untyped
|
|
29
|
+
| (?options?) -> untyped
|
|
30
|
+
|
|
31
|
+
def pool: -> Pool
|
|
32
|
+
def on_response: (Request, response) -> void
|
|
33
|
+
def on_promise: (untyped, untyped) -> void
|
|
34
|
+
def fetch_response: (Request, *untyped) -> response?
|
|
35
|
+
def set_connection_callbacks: (Connection, Array[Connection], Options) -> void
|
|
36
|
+
|
|
37
|
+
def build_altsvc_connection: (Connection, Array[Connection], URI, String, Hash[String, String], Options) -> Connection?
|
|
38
|
+
|
|
39
|
+
def build_requests: (verb | string, uri, options) -> Array[Request]
|
|
40
|
+
| (Array[[verb | string, uri, options]], options) -> Array[Request]
|
|
41
|
+
| (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]
|
|
44
|
+
|
|
45
|
+
def build_connection: (URI, Options) -> Connection
|
|
46
|
+
|
|
47
|
+
def send_requests: (*Request, options) -> Array[response]
|
|
48
|
+
end
|
|
49
|
+
end
|
data/sig/timeout.rbs
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
module HTTPX
|
|
2
|
+
class Timeout
|
|
3
|
+
CONNECT_TIMEOUT: Numeric
|
|
4
|
+
KEEP_ALIVE_TIMEOUT: Numeric
|
|
5
|
+
OPERATION_TIMEOUT: Numeric
|
|
6
|
+
|
|
7
|
+
attr_reader connect_timeout: Numeric
|
|
8
|
+
attr_reader operation_timeout: Numeric
|
|
9
|
+
attr_reader total_timeout: Numeric?
|
|
10
|
+
attr_reader keep_alive_timeout: Numeric?
|
|
11
|
+
|
|
12
|
+
def self.new: (instance | Hash[Symbol, untyped]) -> instance
|
|
13
|
+
| () -> instance
|
|
14
|
+
|
|
15
|
+
def ==: (untyped other) -> bool
|
|
16
|
+
|
|
17
|
+
def merge: (Timeout | Hash[Symbol, untyped]) -> instance
|
|
18
|
+
|
|
19
|
+
private
|
|
20
|
+
|
|
21
|
+
def initialize: (
|
|
22
|
+
?connect_timeout: Numeric,
|
|
23
|
+
?operation_timeout: Numeric,
|
|
24
|
+
?keep_alive_timeout: Numeric,
|
|
25
|
+
?total_timeout: Numeric | nil,
|
|
26
|
+
?loop_timeout: Numeric | nil
|
|
27
|
+
) -> untyped
|
|
28
|
+
end
|
|
29
|
+
end
|
data/sig/transcoder.rbs
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
module HTTPX
|
|
2
|
+
type bodyIO = _Reader | _Each[String, untyped] | _ToS
|
|
3
|
+
|
|
4
|
+
module Transcoder
|
|
5
|
+
extend HTTPX::Registry[String, Class]
|
|
6
|
+
|
|
7
|
+
def self.normalize_keys: (string | Symbol, top, ?Proc?) { (string, top) -> void } -> void
|
|
8
|
+
| (string | Symbol, top, ?Proc?) { (string) -> void } -> void
|
|
9
|
+
|
|
10
|
+
interface _Encoder
|
|
11
|
+
def bytesize: () -> Numeric
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
interface _Decoder
|
|
15
|
+
def decode: (string) -> String
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
module HTTPX
|
|
2
|
+
module Transcoder
|
|
3
|
+
module Body
|
|
4
|
+
class Encoder
|
|
5
|
+
include _Encoder
|
|
6
|
+
include _ToS
|
|
7
|
+
|
|
8
|
+
@raw: bodyIO
|
|
9
|
+
|
|
10
|
+
def content_type: () -> String
|
|
11
|
+
|
|
12
|
+
private
|
|
13
|
+
|
|
14
|
+
def initialize: (untyped body ) -> untyped
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def self?.encode: (bodyIO body) -> Encoder
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
module HTTPX::Transcoder
|
|
2
|
+
module Chunker
|
|
3
|
+
def self?.encode: (_Encoder chunks) -> Encoder
|
|
4
|
+
|
|
5
|
+
class Encoder
|
|
6
|
+
@raw: _Each[String]
|
|
7
|
+
|
|
8
|
+
include _Each[String]
|
|
9
|
+
|
|
10
|
+
private
|
|
11
|
+
|
|
12
|
+
def initialize: (_Encoder chunks) -> untyped
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
class Decoder
|
|
16
|
+
include _ToS
|
|
17
|
+
include _Each[String]
|
|
18
|
+
|
|
19
|
+
def finished?: () -> bool
|
|
20
|
+
def empty?: () -> bool
|
|
21
|
+
def <<: (string) -> void
|
|
22
|
+
def clear: () -> void
|
|
23
|
+
|
|
24
|
+
private
|
|
25
|
+
|
|
26
|
+
def initialize: (String, bool) -> untyped
|
|
27
|
+
| (String) -> untyped
|
|
28
|
+
|
|
29
|
+
def nextstate: (Symbol) -> void
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
module HTTPX::Transcoder
|
|
2
|
+
type form_value = string
|
|
3
|
+
|
|
4
|
+
type form_nested_value = form_value | _ToAry[form_value] | _ToHash[string, form_value]
|
|
5
|
+
|
|
6
|
+
type urlencoded_input = Enumerable[[string, form_nested_value], untyped]
|
|
7
|
+
|
|
8
|
+
module Form
|
|
9
|
+
def self?.encode: (urlencoded_input form) -> Encoder
|
|
10
|
+
|
|
11
|
+
class Encoder
|
|
12
|
+
include _Encoder
|
|
13
|
+
include _ToS
|
|
14
|
+
|
|
15
|
+
def content_type: () -> String
|
|
16
|
+
|
|
17
|
+
private
|
|
18
|
+
|
|
19
|
+
def initialize: (urlencoded_input form) -> untyped
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
module HTTPX::Transcoder
|
|
2
|
+
module JSON
|
|
3
|
+
def self?.encode: (_ToJson json) -> Encoder
|
|
4
|
+
|
|
5
|
+
class Encoder
|
|
6
|
+
include _Encoder
|
|
7
|
+
include _ToS
|
|
8
|
+
|
|
9
|
+
def content_type: () -> String
|
|
10
|
+
|
|
11
|
+
private
|
|
12
|
+
|
|
13
|
+
def initialize: (_ToJson json) -> untyped
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
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.11.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:
|
|
11
|
+
date: 2021-01-30 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: http-2-next
|
|
@@ -38,40 +38,6 @@ dependencies:
|
|
|
38
38
|
- - ">="
|
|
39
39
|
- !ruby/object:Gem::Version
|
|
40
40
|
version: '0'
|
|
41
|
-
- !ruby/object:Gem::Dependency
|
|
42
|
-
name: http-cookie
|
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
|
44
|
-
requirements:
|
|
45
|
-
- - "~>"
|
|
46
|
-
- !ruby/object:Gem::Version
|
|
47
|
-
version: '1.0'
|
|
48
|
-
type: :development
|
|
49
|
-
prerelease: false
|
|
50
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
51
|
-
requirements:
|
|
52
|
-
- - "~>"
|
|
53
|
-
- !ruby/object:Gem::Version
|
|
54
|
-
version: '1.0'
|
|
55
|
-
- !ruby/object:Gem::Dependency
|
|
56
|
-
name: http-form_data
|
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
|
58
|
-
requirements:
|
|
59
|
-
- - ">="
|
|
60
|
-
- !ruby/object:Gem::Version
|
|
61
|
-
version: 2.0.0
|
|
62
|
-
- - "<"
|
|
63
|
-
- !ruby/object:Gem::Version
|
|
64
|
-
version: '3'
|
|
65
|
-
type: :development
|
|
66
|
-
prerelease: false
|
|
67
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
68
|
-
requirements:
|
|
69
|
-
- - ">="
|
|
70
|
-
- !ruby/object:Gem::Version
|
|
71
|
-
version: 2.0.0
|
|
72
|
-
- - "<"
|
|
73
|
-
- !ruby/object:Gem::Version
|
|
74
|
-
version: '3'
|
|
75
41
|
description: A client library for making HTTP requests from Ruby.
|
|
76
42
|
email:
|
|
77
43
|
- cardoso_tiago@hotmail.com
|
|
@@ -81,32 +47,37 @@ extra_rdoc_files:
|
|
|
81
47
|
- LICENSE.txt
|
|
82
48
|
- README.md
|
|
83
49
|
- doc/release_notes/0_0_1.md
|
|
84
|
-
- doc/release_notes/
|
|
85
|
-
- doc/release_notes/
|
|
50
|
+
- doc/release_notes/0_0_2.md
|
|
51
|
+
- doc/release_notes/0_0_3.md
|
|
86
52
|
- doc/release_notes/0_0_4.md
|
|
87
|
-
- doc/release_notes/
|
|
88
|
-
- doc/release_notes/
|
|
89
|
-
- doc/release_notes/
|
|
90
|
-
- doc/release_notes/
|
|
91
|
-
- doc/release_notes/
|
|
92
|
-
- doc/release_notes/
|
|
93
|
-
- doc/release_notes/
|
|
94
|
-
- doc/release_notes/
|
|
95
|
-
- doc/release_notes/
|
|
96
|
-
- doc/release_notes/
|
|
97
|
-
- doc/release_notes/
|
|
53
|
+
- 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
|
|
59
|
+
- doc/release_notes/0_1_0.md
|
|
60
|
+
- doc/release_notes/0_2_0.md
|
|
61
|
+
- doc/release_notes/0_2_1.md
|
|
62
|
+
- doc/release_notes/0_3_0.md
|
|
63
|
+
- doc/release_notes/0_3_1.md
|
|
64
|
+
- doc/release_notes/0_4_0.md
|
|
98
65
|
- doc/release_notes/0_4_1.md
|
|
66
|
+
- doc/release_notes/0_5_0.md
|
|
99
67
|
- doc/release_notes/0_5_1.md
|
|
100
|
-
- doc/release_notes/
|
|
101
|
-
- doc/release_notes/
|
|
68
|
+
- doc/release_notes/0_6_0.md
|
|
69
|
+
- doc/release_notes/0_6_1.md
|
|
102
70
|
- doc/release_notes/0_6_2.md
|
|
71
|
+
- doc/release_notes/0_6_3.md
|
|
72
|
+
- doc/release_notes/0_6_4.md
|
|
73
|
+
- doc/release_notes/0_6_5.md
|
|
74
|
+
- doc/release_notes/0_6_6.md
|
|
75
|
+
- doc/release_notes/0_6_7.md
|
|
76
|
+
- doc/release_notes/0_7_0.md
|
|
103
77
|
- doc/release_notes/0_8_0.md
|
|
104
|
-
- doc/release_notes/
|
|
105
|
-
- doc/release_notes/
|
|
106
|
-
- doc/release_notes/
|
|
107
|
-
- doc/release_notes/0_0_2.md
|
|
108
|
-
- doc/release_notes/0_3_1.md
|
|
109
|
-
- doc/release_notes/0_2_0.md
|
|
78
|
+
- doc/release_notes/0_8_1.md
|
|
79
|
+
- doc/release_notes/0_8_2.md
|
|
80
|
+
- doc/release_notes/0_9_0.md
|
|
110
81
|
files:
|
|
111
82
|
- LICENSE.txt
|
|
112
83
|
- README.md
|
|
@@ -115,6 +86,11 @@ files:
|
|
|
115
86
|
- doc/release_notes/0_0_3.md
|
|
116
87
|
- doc/release_notes/0_0_4.md
|
|
117
88
|
- doc/release_notes/0_0_5.md
|
|
89
|
+
- doc/release_notes/0_10_0.md
|
|
90
|
+
- doc/release_notes/0_10_1.md
|
|
91
|
+
- doc/release_notes/0_10_2.md
|
|
92
|
+
- doc/release_notes/0_11_0.md
|
|
93
|
+
- doc/release_notes/0_11_1.md
|
|
118
94
|
- doc/release_notes/0_1_0.md
|
|
119
95
|
- doc/release_notes/0_2_0.md
|
|
120
96
|
- doc/release_notes/0_2_1.md
|
|
@@ -138,7 +114,9 @@ files:
|
|
|
138
114
|
- doc/release_notes/0_8_2.md
|
|
139
115
|
- doc/release_notes/0_9_0.md
|
|
140
116
|
- lib/httpx.rb
|
|
117
|
+
- lib/httpx/adapters/datadog.rb
|
|
141
118
|
- lib/httpx/adapters/faraday.rb
|
|
119
|
+
- lib/httpx/adapters/webmock.rb
|
|
142
120
|
- lib/httpx/altsvc.rb
|
|
143
121
|
- lib/httpx/buffer.rb
|
|
144
122
|
- lib/httpx/callbacks.rb
|
|
@@ -146,6 +124,7 @@ files:
|
|
|
146
124
|
- lib/httpx/connection.rb
|
|
147
125
|
- lib/httpx/connection/http1.rb
|
|
148
126
|
- lib/httpx/connection/http2.rb
|
|
127
|
+
- lib/httpx/domain_name.rb
|
|
149
128
|
- lib/httpx/errors.rb
|
|
150
129
|
- lib/httpx/extensions.rb
|
|
151
130
|
- lib/httpx/headers.rb
|
|
@@ -164,11 +143,17 @@ files:
|
|
|
164
143
|
- lib/httpx/plugins/compression/deflate.rb
|
|
165
144
|
- lib/httpx/plugins/compression/gzip.rb
|
|
166
145
|
- lib/httpx/plugins/cookies.rb
|
|
146
|
+
- lib/httpx/plugins/cookies/cookie.rb
|
|
147
|
+
- lib/httpx/plugins/cookies/jar.rb
|
|
148
|
+
- lib/httpx/plugins/cookies/set_cookie_parser.rb
|
|
167
149
|
- lib/httpx/plugins/digest_authentication.rb
|
|
168
150
|
- lib/httpx/plugins/expect.rb
|
|
169
151
|
- lib/httpx/plugins/follow_redirects.rb
|
|
170
152
|
- lib/httpx/plugins/h2c.rb
|
|
171
153
|
- lib/httpx/plugins/multipart.rb
|
|
154
|
+
- lib/httpx/plugins/multipart/encoder.rb
|
|
155
|
+
- lib/httpx/plugins/multipart/mime_type_detector.rb
|
|
156
|
+
- lib/httpx/plugins/multipart/part.rb
|
|
172
157
|
- lib/httpx/plugins/persistent.rb
|
|
173
158
|
- lib/httpx/plugins/proxy.rb
|
|
174
159
|
- lib/httpx/plugins/proxy/http.rb
|
|
@@ -176,6 +161,7 @@ files:
|
|
|
176
161
|
- lib/httpx/plugins/proxy/socks5.rb
|
|
177
162
|
- lib/httpx/plugins/proxy/ssh.rb
|
|
178
163
|
- lib/httpx/plugins/push_promise.rb
|
|
164
|
+
- lib/httpx/plugins/rate_limiter.rb
|
|
179
165
|
- lib/httpx/plugins/retries.rb
|
|
180
166
|
- lib/httpx/plugins/stream.rb
|
|
181
167
|
- lib/httpx/pool.rb
|
|
@@ -184,7 +170,6 @@ files:
|
|
|
184
170
|
- lib/httpx/resolver.rb
|
|
185
171
|
- lib/httpx/resolver/https.rb
|
|
186
172
|
- lib/httpx/resolver/native.rb
|
|
187
|
-
- lib/httpx/resolver/options.rb
|
|
188
173
|
- lib/httpx/resolver/resolver_mixin.rb
|
|
189
174
|
- lib/httpx/resolver/system.rb
|
|
190
175
|
- lib/httpx/response.rb
|
|
@@ -196,7 +181,62 @@ files:
|
|
|
196
181
|
- lib/httpx/transcoder/chunker.rb
|
|
197
182
|
- lib/httpx/transcoder/form.rb
|
|
198
183
|
- lib/httpx/transcoder/json.rb
|
|
184
|
+
- lib/httpx/utils.rb
|
|
199
185
|
- lib/httpx/version.rb
|
|
186
|
+
- sig/buffer.rbs
|
|
187
|
+
- sig/callbacks.rbs
|
|
188
|
+
- sig/chainable.rbs
|
|
189
|
+
- sig/connection.rbs
|
|
190
|
+
- sig/connection/http1.rbs
|
|
191
|
+
- sig/connection/http2.rbs
|
|
192
|
+
- sig/domain_name.rbs
|
|
193
|
+
- sig/errors.rbs
|
|
194
|
+
- sig/headers.rbs
|
|
195
|
+
- sig/httpx.rbs
|
|
196
|
+
- sig/loggable.rbs
|
|
197
|
+
- sig/options.rbs
|
|
198
|
+
- sig/parser/http1.rbs
|
|
199
|
+
- sig/plugins/authentication.rbs
|
|
200
|
+
- sig/plugins/basic_authentication.rbs
|
|
201
|
+
- sig/plugins/compression.rbs
|
|
202
|
+
- sig/plugins/compression/brotli.rbs
|
|
203
|
+
- sig/plugins/compression/deflate.rbs
|
|
204
|
+
- sig/plugins/compression/gzip.rbs
|
|
205
|
+
- sig/plugins/cookies.rbs
|
|
206
|
+
- sig/plugins/cookies/cookie.rbs
|
|
207
|
+
- sig/plugins/cookies/jar.rbs
|
|
208
|
+
- sig/plugins/digest_authentication.rbs
|
|
209
|
+
- sig/plugins/expect.rbs
|
|
210
|
+
- sig/plugins/follow_redirects.rbs
|
|
211
|
+
- sig/plugins/h2c.rbs
|
|
212
|
+
- sig/plugins/multipart.rbs
|
|
213
|
+
- sig/plugins/persistent.rbs
|
|
214
|
+
- sig/plugins/proxy.rbs
|
|
215
|
+
- sig/plugins/proxy/http.rbs
|
|
216
|
+
- sig/plugins/proxy/socks4.rbs
|
|
217
|
+
- sig/plugins/proxy/socks5.rbs
|
|
218
|
+
- sig/plugins/proxy/ssh.rbs
|
|
219
|
+
- sig/plugins/push_promise.rbs
|
|
220
|
+
- sig/plugins/rate_limiter.rbs
|
|
221
|
+
- sig/plugins/retries.rbs
|
|
222
|
+
- sig/plugins/stream.rbs
|
|
223
|
+
- sig/pool.rbs
|
|
224
|
+
- sig/registry.rbs
|
|
225
|
+
- sig/request.rbs
|
|
226
|
+
- sig/resolver.rbs
|
|
227
|
+
- sig/resolver/https.rbs
|
|
228
|
+
- sig/resolver/native.rbs
|
|
229
|
+
- sig/resolver/resolver_mixin.rbs
|
|
230
|
+
- sig/resolver/system.rbs
|
|
231
|
+
- sig/response.rbs
|
|
232
|
+
- sig/selector.rbs
|
|
233
|
+
- sig/session.rbs
|
|
234
|
+
- sig/timeout.rbs
|
|
235
|
+
- sig/transcoder.rbs
|
|
236
|
+
- sig/transcoder/body.rbs
|
|
237
|
+
- sig/transcoder/chunker.rbs
|
|
238
|
+
- sig/transcoder/form.rbs
|
|
239
|
+
- sig/transcoder/json.rbs
|
|
200
240
|
homepage: https://gitlab.com/honeyryderchuck/httpx
|
|
201
241
|
licenses:
|
|
202
242
|
- Apache 2.0
|
|
@@ -220,7 +260,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
220
260
|
- !ruby/object:Gem::Version
|
|
221
261
|
version: '0'
|
|
222
262
|
requirements: []
|
|
223
|
-
rubygems_version: 3.
|
|
263
|
+
rubygems_version: 3.2.3
|
|
224
264
|
signing_key:
|
|
225
265
|
specification_version: 4
|
|
226
266
|
summary: HTTPX, to the future, and beyond
|