httpx 0.8.2 → 0.11.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/LICENSE.txt +48 -0
- data/README.md +14 -4
- 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_9_0.md +38 -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 +12 -12
- 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 +22 -2
- data/lib/httpx/headers.rb +2 -1
- data/lib/httpx/io/ssl.rb +4 -9
- data/lib/httpx/io/tcp.rb +6 -5
- data/lib/httpx/io/udp.rb +5 -2
- data/lib/httpx/options.rb +5 -1
- 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 -25
- data/lib/httpx/selector.rb +12 -18
- data/lib/httpx/session.rb +50 -39
- 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 +81 -41
- 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.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Tiago Cardoso
|
|
8
|
-
autorequire:
|
|
8
|
+
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2021-01-15 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
|
|
@@ -88,9 +54,13 @@ extra_rdoc_files:
|
|
|
88
54
|
- doc/release_notes/0_6_1.md
|
|
89
55
|
- doc/release_notes/0_7_0.md
|
|
90
56
|
- doc/release_notes/0_6_0.md
|
|
57
|
+
- doc/release_notes/0_10_2.md
|
|
91
58
|
- doc/release_notes/0_8_2.md
|
|
92
59
|
- doc/release_notes/0_6_4.md
|
|
60
|
+
- doc/release_notes/0_9_0.md
|
|
93
61
|
- doc/release_notes/0_6_3.md
|
|
62
|
+
- doc/release_notes/0_10_1.md
|
|
63
|
+
- doc/release_notes/0_11_0.md
|
|
94
64
|
- doc/release_notes/0_8_1.md
|
|
95
65
|
- doc/release_notes/0_5_0.md
|
|
96
66
|
- doc/release_notes/0_6_7.md
|
|
@@ -99,6 +69,7 @@ extra_rdoc_files:
|
|
|
99
69
|
- doc/release_notes/0_6_6.md
|
|
100
70
|
- doc/release_notes/0_4_0.md
|
|
101
71
|
- doc/release_notes/0_6_2.md
|
|
72
|
+
- doc/release_notes/0_10_0.md
|
|
102
73
|
- doc/release_notes/0_8_0.md
|
|
103
74
|
- doc/release_notes/0_3_0.md
|
|
104
75
|
- doc/release_notes/0_2_1.md
|
|
@@ -114,6 +85,10 @@ files:
|
|
|
114
85
|
- doc/release_notes/0_0_3.md
|
|
115
86
|
- doc/release_notes/0_0_4.md
|
|
116
87
|
- doc/release_notes/0_0_5.md
|
|
88
|
+
- doc/release_notes/0_10_0.md
|
|
89
|
+
- doc/release_notes/0_10_1.md
|
|
90
|
+
- doc/release_notes/0_10_2.md
|
|
91
|
+
- doc/release_notes/0_11_0.md
|
|
117
92
|
- doc/release_notes/0_1_0.md
|
|
118
93
|
- doc/release_notes/0_2_0.md
|
|
119
94
|
- doc/release_notes/0_2_1.md
|
|
@@ -135,8 +110,11 @@ files:
|
|
|
135
110
|
- doc/release_notes/0_8_0.md
|
|
136
111
|
- doc/release_notes/0_8_1.md
|
|
137
112
|
- doc/release_notes/0_8_2.md
|
|
113
|
+
- doc/release_notes/0_9_0.md
|
|
138
114
|
- lib/httpx.rb
|
|
115
|
+
- lib/httpx/adapters/datadog.rb
|
|
139
116
|
- lib/httpx/adapters/faraday.rb
|
|
117
|
+
- lib/httpx/adapters/webmock.rb
|
|
140
118
|
- lib/httpx/altsvc.rb
|
|
141
119
|
- lib/httpx/buffer.rb
|
|
142
120
|
- lib/httpx/callbacks.rb
|
|
@@ -144,6 +122,7 @@ files:
|
|
|
144
122
|
- lib/httpx/connection.rb
|
|
145
123
|
- lib/httpx/connection/http1.rb
|
|
146
124
|
- lib/httpx/connection/http2.rb
|
|
125
|
+
- lib/httpx/domain_name.rb
|
|
147
126
|
- lib/httpx/errors.rb
|
|
148
127
|
- lib/httpx/extensions.rb
|
|
149
128
|
- lib/httpx/headers.rb
|
|
@@ -162,11 +141,17 @@ files:
|
|
|
162
141
|
- lib/httpx/plugins/compression/deflate.rb
|
|
163
142
|
- lib/httpx/plugins/compression/gzip.rb
|
|
164
143
|
- lib/httpx/plugins/cookies.rb
|
|
144
|
+
- lib/httpx/plugins/cookies/cookie.rb
|
|
145
|
+
- lib/httpx/plugins/cookies/jar.rb
|
|
146
|
+
- lib/httpx/plugins/cookies/set_cookie_parser.rb
|
|
165
147
|
- lib/httpx/plugins/digest_authentication.rb
|
|
166
148
|
- lib/httpx/plugins/expect.rb
|
|
167
149
|
- lib/httpx/plugins/follow_redirects.rb
|
|
168
150
|
- lib/httpx/plugins/h2c.rb
|
|
169
151
|
- lib/httpx/plugins/multipart.rb
|
|
152
|
+
- lib/httpx/plugins/multipart/encoder.rb
|
|
153
|
+
- lib/httpx/plugins/multipart/mime_type_detector.rb
|
|
154
|
+
- lib/httpx/plugins/multipart/part.rb
|
|
170
155
|
- lib/httpx/plugins/persistent.rb
|
|
171
156
|
- lib/httpx/plugins/proxy.rb
|
|
172
157
|
- lib/httpx/plugins/proxy/http.rb
|
|
@@ -174,6 +159,7 @@ files:
|
|
|
174
159
|
- lib/httpx/plugins/proxy/socks5.rb
|
|
175
160
|
- lib/httpx/plugins/proxy/ssh.rb
|
|
176
161
|
- lib/httpx/plugins/push_promise.rb
|
|
162
|
+
- lib/httpx/plugins/rate_limiter.rb
|
|
177
163
|
- lib/httpx/plugins/retries.rb
|
|
178
164
|
- lib/httpx/plugins/stream.rb
|
|
179
165
|
- lib/httpx/pool.rb
|
|
@@ -182,7 +168,6 @@ files:
|
|
|
182
168
|
- lib/httpx/resolver.rb
|
|
183
169
|
- lib/httpx/resolver/https.rb
|
|
184
170
|
- lib/httpx/resolver/native.rb
|
|
185
|
-
- lib/httpx/resolver/options.rb
|
|
186
171
|
- lib/httpx/resolver/resolver_mixin.rb
|
|
187
172
|
- lib/httpx/resolver/system.rb
|
|
188
173
|
- lib/httpx/response.rb
|
|
@@ -194,7 +179,62 @@ files:
|
|
|
194
179
|
- lib/httpx/transcoder/chunker.rb
|
|
195
180
|
- lib/httpx/transcoder/form.rb
|
|
196
181
|
- lib/httpx/transcoder/json.rb
|
|
182
|
+
- lib/httpx/utils.rb
|
|
197
183
|
- lib/httpx/version.rb
|
|
184
|
+
- sig/buffer.rbs
|
|
185
|
+
- sig/callbacks.rbs
|
|
186
|
+
- sig/chainable.rbs
|
|
187
|
+
- sig/connection.rbs
|
|
188
|
+
- sig/connection/http1.rbs
|
|
189
|
+
- sig/connection/http2.rbs
|
|
190
|
+
- sig/domain_name.rbs
|
|
191
|
+
- sig/errors.rbs
|
|
192
|
+
- sig/headers.rbs
|
|
193
|
+
- sig/httpx.rbs
|
|
194
|
+
- sig/loggable.rbs
|
|
195
|
+
- sig/options.rbs
|
|
196
|
+
- sig/parser/http1.rbs
|
|
197
|
+
- sig/plugins/authentication.rbs
|
|
198
|
+
- sig/plugins/basic_authentication.rbs
|
|
199
|
+
- sig/plugins/compression.rbs
|
|
200
|
+
- sig/plugins/compression/brotli.rbs
|
|
201
|
+
- sig/plugins/compression/deflate.rbs
|
|
202
|
+
- sig/plugins/compression/gzip.rbs
|
|
203
|
+
- sig/plugins/cookies.rbs
|
|
204
|
+
- sig/plugins/cookies/cookie.rbs
|
|
205
|
+
- sig/plugins/cookies/jar.rbs
|
|
206
|
+
- sig/plugins/digest_authentication.rbs
|
|
207
|
+
- sig/plugins/expect.rbs
|
|
208
|
+
- sig/plugins/follow_redirects.rbs
|
|
209
|
+
- sig/plugins/h2c.rbs
|
|
210
|
+
- sig/plugins/multipart.rbs
|
|
211
|
+
- sig/plugins/persistent.rbs
|
|
212
|
+
- sig/plugins/proxy.rbs
|
|
213
|
+
- sig/plugins/proxy/http.rbs
|
|
214
|
+
- sig/plugins/proxy/socks4.rbs
|
|
215
|
+
- sig/plugins/proxy/socks5.rbs
|
|
216
|
+
- sig/plugins/proxy/ssh.rbs
|
|
217
|
+
- sig/plugins/push_promise.rbs
|
|
218
|
+
- sig/plugins/rate_limiter.rbs
|
|
219
|
+
- sig/plugins/retries.rbs
|
|
220
|
+
- sig/plugins/stream.rbs
|
|
221
|
+
- sig/pool.rbs
|
|
222
|
+
- sig/registry.rbs
|
|
223
|
+
- sig/request.rbs
|
|
224
|
+
- sig/resolver.rbs
|
|
225
|
+
- sig/resolver/https.rbs
|
|
226
|
+
- sig/resolver/native.rbs
|
|
227
|
+
- sig/resolver/resolver_mixin.rbs
|
|
228
|
+
- sig/resolver/system.rbs
|
|
229
|
+
- sig/response.rbs
|
|
230
|
+
- sig/selector.rbs
|
|
231
|
+
- sig/session.rbs
|
|
232
|
+
- sig/timeout.rbs
|
|
233
|
+
- sig/transcoder.rbs
|
|
234
|
+
- sig/transcoder/body.rbs
|
|
235
|
+
- sig/transcoder/chunker.rbs
|
|
236
|
+
- sig/transcoder/form.rbs
|
|
237
|
+
- sig/transcoder/json.rbs
|
|
198
238
|
homepage: https://gitlab.com/honeyryderchuck/httpx
|
|
199
239
|
licenses:
|
|
200
240
|
- Apache 2.0
|
|
@@ -203,7 +243,7 @@ metadata:
|
|
|
203
243
|
changelog_uri: https://honeyryderchuck.gitlab.io/httpx/#release-notes
|
|
204
244
|
documentation_uri: https://honeyryderchuck.gitlab.io/httpx/rdoc/
|
|
205
245
|
source_code_uri: https://gitlab.com/honeyryderchuck/httpx
|
|
206
|
-
post_install_message:
|
|
246
|
+
post_install_message:
|
|
207
247
|
rdoc_options: []
|
|
208
248
|
require_paths:
|
|
209
249
|
- lib
|
|
@@ -218,8 +258,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
218
258
|
- !ruby/object:Gem::Version
|
|
219
259
|
version: '0'
|
|
220
260
|
requirements: []
|
|
221
|
-
rubygems_version: 3.1.
|
|
222
|
-
signing_key:
|
|
261
|
+
rubygems_version: 3.1.4
|
|
262
|
+
signing_key:
|
|
223
263
|
specification_version: 4
|
|
224
264
|
summary: HTTPX, to the future, and beyond
|
|
225
265
|
test_files: []
|