httpx 1.1.3 → 1.1.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/doc/release_notes/1_1_3.md +1 -1
- data/doc/release_notes/1_1_4.md +6 -0
- data/lib/httpx/adapters/datadog.rb +3 -3
- data/lib/httpx/plugins/auth.rb +1 -1
- data/lib/httpx/plugins/basic_auth.rb +1 -1
- data/lib/httpx/plugins/digest_auth.rb +1 -1
- data/lib/httpx/plugins/grpc/grpc_encoding.rb +7 -2
- data/lib/httpx/plugins/grpc.rb +1 -1
- data/lib/httpx/plugins/ntlm_auth.rb +1 -1
- data/lib/httpx/plugins/stream.rb +6 -19
- data/lib/httpx/version.rb +1 -1
- data/sig/plugins/grpc/grpc_encoding.rbs +5 -1
- data/sig/plugins/stream.rbs +6 -1
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d8999f3068b60027a01d29f4d840ff77828a151eaf377bec3959c26fcc0b2e25
|
4
|
+
data.tar.gz: cb1490afe5522a3c77c0a1f5ef44267d60d7e23993718c58f18525e971bf70d9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5d29a339eb2781a8d8c1ff9b3c95f03717034eb32210639e355f8687129d80b614290d699d00e6bd5781998f14564a8dec4e1750545841e30dd53eaba58d3a9c
|
7
|
+
data.tar.gz: d9e0dd9966132648aa4ded10fe71cb94496337328575d0c99d6b861536401820c354742d5a923d79e2a7eff77a8649e7f1630e7c895e6f14fdbcf6e5e48bd828
|
data/doc/release_notes/1_1_3.md
CHANGED
@@ -126,7 +126,7 @@ module Datadog::Tracing
|
|
126
126
|
option :distributed_tracing, default: true
|
127
127
|
option :split_by_domain, default: false
|
128
128
|
|
129
|
-
if DDTrace::VERSION::STRING >= "1.13.0"
|
129
|
+
if Gem::Version.new(DDTrace::VERSION::STRING) >= Gem::Version.new("1.13.0")
|
130
130
|
option :enabled do |o|
|
131
131
|
o.type :bool
|
132
132
|
o.env "DD_TRACE_HTTPX_ENABLED"
|
@@ -182,12 +182,12 @@ module Datadog::Tracing
|
|
182
182
|
|
183
183
|
option :distributed_tracing, default: true
|
184
184
|
|
185
|
-
if DDTrace::VERSION::STRING >= "1.15.0"
|
185
|
+
if Gem::Version.new(DDTrace::VERSION::STRING) >= Gem::Version.new("1.15.0")
|
186
186
|
option :error_handler do |o|
|
187
187
|
o.type :proc
|
188
188
|
o.default_proc(&DEFAULT_ERROR_HANDLER)
|
189
189
|
end
|
190
|
-
elsif DDTrace::VERSION::STRING >= "1.13.0"
|
190
|
+
elsif Gem::Version.new(DDTrace::VERSION::STRING) >= Gem::Version.new("1.13.0")
|
191
191
|
option :error_handler do |o|
|
192
192
|
o.type :proc
|
193
193
|
o.experimental_default_proc(&DEFAULT_ERROR_HANDLER)
|
data/lib/httpx/plugins/auth.rb
CHANGED
@@ -7,7 +7,7 @@ module HTTPX
|
|
7
7
|
# the HTTP Authorization header, and another, +bearer_auth+, which fill the "Bearer " prefix
|
8
8
|
# in its value.
|
9
9
|
#
|
10
|
-
# https://gitlab.com/os85/httpx/wikis/Auth#
|
10
|
+
# https://gitlab.com/os85/httpx/wikis/Auth#auth
|
11
11
|
#
|
12
12
|
module Auth
|
13
13
|
module InstanceMethods
|
@@ -5,7 +5,7 @@ module HTTPX
|
|
5
5
|
#
|
6
6
|
# This plugin adds helper methods to implement HTTP Basic Auth (https://tools.ietf.org/html/rfc7617)
|
7
7
|
#
|
8
|
-
# https://gitlab.com/os85/httpx/wikis/
|
8
|
+
# https://gitlab.com/os85/httpx/wikis/Auth#basic-auth
|
9
9
|
#
|
10
10
|
module BasicAuth
|
11
11
|
class << self
|
@@ -5,7 +5,7 @@ module HTTPX
|
|
5
5
|
#
|
6
6
|
# This plugin adds helper methods to implement HTTP Digest Auth (https://tools.ietf.org/html/rfc7616)
|
7
7
|
#
|
8
|
-
# https://gitlab.com/os85/httpx/wikis/
|
8
|
+
# https://gitlab.com/os85/httpx/wikis/Auth#digest-auth
|
9
9
|
#
|
10
10
|
module DigestAuth
|
11
11
|
DigestError = Class.new(Error)
|
@@ -36,7 +36,6 @@ module HTTPX
|
|
36
36
|
|
37
37
|
class Inflater
|
38
38
|
def initialize(response)
|
39
|
-
@encodings = response.headers.get("grpc-encoding")
|
40
39
|
@response = response
|
41
40
|
end
|
42
41
|
|
@@ -49,7 +48,7 @@ module HTTPX
|
|
49
48
|
encoded_data = message.byteslice(5..size + 5 - 1)
|
50
49
|
|
51
50
|
if compressed == 1
|
52
|
-
|
51
|
+
grpc_encodings.reverse_each do |encoding|
|
53
52
|
decoder = @response.body.class.initialize_inflater_by_encoding(encoding, @response, bytesize: encoded_data.bytesize)
|
54
53
|
encoded_data = decoder.call(encoded_data)
|
55
54
|
|
@@ -68,6 +67,12 @@ module HTTPX
|
|
68
67
|
|
69
68
|
data
|
70
69
|
end
|
70
|
+
|
71
|
+
private
|
72
|
+
|
73
|
+
def grpc_encodings
|
74
|
+
@grpc_encodings ||= @response.headers.get("grpc-encoding")
|
75
|
+
end
|
71
76
|
end
|
72
77
|
|
73
78
|
def self.encode(*args, **kwargs)
|
data/lib/httpx/plugins/grpc.rb
CHANGED
@@ -215,7 +215,7 @@ module HTTPX
|
|
215
215
|
**opts)
|
216
216
|
grpc_request = build_grpc_request(rpc_method, input, deadline: deadline, metadata: metadata, **opts)
|
217
217
|
response = request(grpc_request, **opts)
|
218
|
-
response.raise_for_status
|
218
|
+
response.raise_for_status unless opts[:stream]
|
219
219
|
GRPC::Call.new(response)
|
220
220
|
end
|
221
221
|
|
data/lib/httpx/plugins/stream.rb
CHANGED
@@ -2,10 +2,9 @@
|
|
2
2
|
|
3
3
|
module HTTPX
|
4
4
|
class StreamResponse
|
5
|
-
def initialize(request, session
|
5
|
+
def initialize(request, session)
|
6
6
|
@request = request
|
7
7
|
@session = session
|
8
|
-
@connections = connections
|
9
8
|
end
|
10
9
|
|
11
10
|
def each(&block)
|
@@ -16,19 +15,9 @@ module HTTPX
|
|
16
15
|
begin
|
17
16
|
@on_chunk = block
|
18
17
|
|
19
|
-
if @request.response
|
20
|
-
# if we've already started collecting the payload, yield it first
|
21
|
-
# before proceeding
|
22
|
-
body = @request.response.body
|
23
|
-
|
24
|
-
body.each do |chunk|
|
25
|
-
on_chunk(chunk)
|
26
|
-
end
|
27
|
-
end
|
28
|
-
|
29
18
|
response.raise_for_status
|
30
|
-
response.close
|
31
19
|
ensure
|
20
|
+
response.close if @response
|
32
21
|
@on_chunk = nil
|
33
22
|
end
|
34
23
|
end
|
@@ -69,9 +58,9 @@ module HTTPX
|
|
69
58
|
private
|
70
59
|
|
71
60
|
def response
|
72
|
-
@
|
73
|
-
|
74
|
-
|
61
|
+
@response ||= begin
|
62
|
+
@request.response || @session.request(@request)
|
63
|
+
end
|
75
64
|
end
|
76
65
|
|
77
66
|
def respond_to_missing?(meth, *args)
|
@@ -105,9 +94,7 @@ module HTTPX
|
|
105
94
|
|
106
95
|
request = requests.first
|
107
96
|
|
108
|
-
|
109
|
-
|
110
|
-
StreamResponse.new(request, self, connections)
|
97
|
+
StreamResponse.new(request, self)
|
111
98
|
end
|
112
99
|
end
|
113
100
|
|
data/lib/httpx/version.rb
CHANGED
@@ -21,11 +21,15 @@ module HTTPX
|
|
21
21
|
|
22
22
|
class Inflater
|
23
23
|
@response: Response
|
24
|
-
@
|
24
|
+
@grpc_encodings: Array[String]
|
25
25
|
|
26
26
|
def initialize: (Response | StreamResponse response) -> void
|
27
27
|
|
28
28
|
def call: (String message) ?{ (String) -> void } -> String
|
29
|
+
|
30
|
+
private
|
31
|
+
|
32
|
+
def grpc_encodings: () -> Array[String]
|
29
33
|
end
|
30
34
|
|
31
35
|
end
|
data/sig/plugins/stream.rbs
CHANGED
@@ -2,6 +2,10 @@ module HTTPX
|
|
2
2
|
class StreamResponse
|
3
3
|
include _ToS
|
4
4
|
|
5
|
+
@request: Request & RequestMethods
|
6
|
+
@session: sessionStream
|
7
|
+
@on_chunk: ^(String) -> void | nil
|
8
|
+
|
5
9
|
def each: () { (String) -> void } -> void
|
6
10
|
| () -> Enumerable[String]
|
7
11
|
|
@@ -10,10 +14,11 @@ module HTTPX
|
|
10
14
|
|
11
15
|
def on_chunk: (string) -> void
|
12
16
|
|
17
|
+
def initialize: (Request, Session) -> void
|
18
|
+
|
13
19
|
private
|
14
20
|
|
15
21
|
def response: () -> response
|
16
|
-
def initialize: (Request, Session, Array[Connection]) -> untyped
|
17
22
|
end
|
18
23
|
|
19
24
|
module Plugins
|
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: 1.1.
|
4
|
+
version: 1.1.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tiago Cardoso
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-11-
|
11
|
+
date: 2023-11-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: http-2-next
|
@@ -135,6 +135,7 @@ extra_rdoc_files:
|
|
135
135
|
- doc/release_notes/1_1_1.md
|
136
136
|
- doc/release_notes/1_1_2.md
|
137
137
|
- doc/release_notes/1_1_3.md
|
138
|
+
- doc/release_notes/1_1_4.md
|
138
139
|
files:
|
139
140
|
- LICENSE.txt
|
140
141
|
- README.md
|
@@ -241,6 +242,7 @@ files:
|
|
241
242
|
- doc/release_notes/1_1_1.md
|
242
243
|
- doc/release_notes/1_1_2.md
|
243
244
|
- doc/release_notes/1_1_3.md
|
245
|
+
- doc/release_notes/1_1_4.md
|
244
246
|
- lib/httpx.rb
|
245
247
|
- lib/httpx/adapters/datadog.rb
|
246
248
|
- lib/httpx/adapters/faraday.rb
|