async-http 0.83.1 → 0.85.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data/lib/async/http/internet/instance.rb +2 -2
- data/lib/async/http/protocol/http2/output.rb +2 -0
- data/lib/async/http/protocol/http2/request.rb +4 -4
- data/lib/async/http/protocol/http2/response.rb +2 -2
- data/lib/async/http/protocol/http2/stream.rb +3 -1
- data/lib/async/http/version.rb +1 -1
- data/readme.md +4 -0
- data/releases.md +4 -0
- data.tar.gz.sig +0 -0
- metadata +4 -4
- metadata.gz.sig +2 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2abd1ccb6ed6a0aa477ec0b66fa1cf7158080e2e782e2140d3fb5ba95c2ba723
|
4
|
+
data.tar.gz: a804dc5b23de9db8665958eb43f2ee93225fd8f6ebeedea18a384bd32117fee0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3e2e0bb55527a84ca22e151e5de80c8cf8fad1a19cef7079c8bb596085201a5859048e2dc911d2f04b2c3e3b30c08db54390218881adeba4efb9a350f550b98c
|
7
|
+
data.tar.gz: ef021c1c8c9c2f63372d4aa709f5144e8285d227167ae7cb83c3b2f063f37886d3ae92b33ca744551f7081bf9adc07eba5a9fb174120e95b2c877f35c3ebeace
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
@@ -17,8 +17,8 @@ module Async
|
|
17
17
|
|
18
18
|
class << self
|
19
19
|
::Protocol::HTTP::Methods.each do |name, verb|
|
20
|
-
define_method(verb.downcase) do |url,
|
21
|
-
self.instance.call(verb, url,
|
20
|
+
define_method(verb.downcase) do |url, *arguments, **options, &block|
|
21
|
+
self.instance.call(verb, url, *arguments, **options, &block)
|
22
22
|
end
|
23
23
|
end
|
24
24
|
end
|
@@ -112,7 +112,7 @@ module Async
|
|
112
112
|
|
113
113
|
def send_response(response)
|
114
114
|
if response.nil?
|
115
|
-
return @stream.send_headers(
|
115
|
+
return @stream.send_headers(NO_RESPONSE, ::Protocol::HTTP2::END_STREAM)
|
116
116
|
end
|
117
117
|
|
118
118
|
protocol_headers = [
|
@@ -129,14 +129,14 @@ module Async
|
|
129
129
|
# This function informs the headers object that any subsequent headers are going to be trailer. Therefore, it must be called *before* sending the headers, to avoid any race conditions.
|
130
130
|
trailer = response.headers.trailer!
|
131
131
|
|
132
|
-
@stream.send_headers(
|
132
|
+
@stream.send_headers(headers)
|
133
133
|
|
134
134
|
@stream.send_body(body, trailer)
|
135
135
|
else
|
136
136
|
# Ensure the response body is closed if we are ending the stream:
|
137
137
|
response.close
|
138
138
|
|
139
|
-
@stream.send_headers(
|
139
|
+
@stream.send_headers(headers, ::Protocol::HTTP2::END_STREAM)
|
140
140
|
end
|
141
141
|
end
|
142
142
|
|
@@ -149,7 +149,7 @@ module Async
|
|
149
149
|
interim_response_headers = ::Protocol::HTTP::Headers::Merged.new(interim_response_headers, headers)
|
150
150
|
end
|
151
151
|
|
152
|
-
@stream.send_headers(
|
152
|
+
@stream.send_headers(interim_response_headers)
|
153
153
|
end
|
154
154
|
end
|
155
155
|
end
|
@@ -222,7 +222,7 @@ module Async
|
|
222
222
|
)
|
223
223
|
|
224
224
|
if request.body.nil?
|
225
|
-
@stream.send_headers(
|
225
|
+
@stream.send_headers(headers, ::Protocol::HTTP2::END_STREAM)
|
226
226
|
else
|
227
227
|
if length = request.body.length
|
228
228
|
# This puts it at the end of the pseudo-headers:
|
@@ -233,7 +233,7 @@ module Async
|
|
233
233
|
trailer = request.headers.trailer!
|
234
234
|
|
235
235
|
begin
|
236
|
-
@stream.send_headers(
|
236
|
+
@stream.send_headers(headers)
|
237
237
|
rescue
|
238
238
|
raise RequestFailed
|
239
239
|
end
|
@@ -131,7 +131,7 @@ module Async
|
|
131
131
|
else
|
132
132
|
# Write trailer?
|
133
133
|
if trailer&.any?
|
134
|
-
send_headers(
|
134
|
+
send_headers(trailer, ::Protocol::HTTP2::END_STREAM)
|
135
135
|
else
|
136
136
|
send_data(nil, ::Protocol::HTTP2::END_STREAM)
|
137
137
|
end
|
@@ -142,6 +142,8 @@ module Async
|
|
142
142
|
super
|
143
143
|
|
144
144
|
@output&.window_updated(size)
|
145
|
+
|
146
|
+
return true
|
145
147
|
end
|
146
148
|
|
147
149
|
# When the stream transitions to the closed state, this method is called. There are roughly two ways this can happen:
|
data/lib/async/http/version.rb
CHANGED
data/readme.md
CHANGED
@@ -16,6 +16,10 @@ Please see the [project documentation](https://socketry.github.io/async-http/) f
|
|
16
16
|
|
17
17
|
Please see the [project releases](https://socketry.github.io/async-http/releases/index) for all releases.
|
18
18
|
|
19
|
+
### v0.84.0
|
20
|
+
|
21
|
+
- Minor consistency fixes to `Async::HTTP::Internet` singleton methods.
|
22
|
+
|
19
23
|
### v0.82.0
|
20
24
|
|
21
25
|
- `protocol-http1` introduces a line length limit for request line, response line, header lines and chunk length lines.
|
data/releases.md
CHANGED
data.tar.gz.sig
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: async-http
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.85.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Samuel Williams
|
@@ -58,7 +58,7 @@ cert_chain:
|
|
58
58
|
Q2K9NVun/S785AP05vKkXZEFYxqG6EW012U4oLcFl5MySFajYXRYbuUpH6AY+HP8
|
59
59
|
voD0MPg1DssDLKwXyt1eKD/+Fq0bFWhwVM/1XiAXL7lyYUyOq24KHgQ2Csg=
|
60
60
|
-----END CERTIFICATE-----
|
61
|
-
date: 2024-11-
|
61
|
+
date: 2024-11-28 00:00:00.000000000 Z
|
62
62
|
dependencies:
|
63
63
|
- !ruby/object:Gem::Dependency
|
64
64
|
name: async
|
@@ -150,14 +150,14 @@ dependencies:
|
|
150
150
|
requirements:
|
151
151
|
- - "~>"
|
152
152
|
- !ruby/object:Gem::Version
|
153
|
-
version: '0.
|
153
|
+
version: '0.21'
|
154
154
|
type: :runtime
|
155
155
|
prerelease: false
|
156
156
|
version_requirements: !ruby/object:Gem::Requirement
|
157
157
|
requirements:
|
158
158
|
- - "~>"
|
159
159
|
- !ruby/object:Gem::Version
|
160
|
-
version: '0.
|
160
|
+
version: '0.21'
|
161
161
|
- !ruby/object:Gem::Dependency
|
162
162
|
name: traces
|
163
163
|
requirement: !ruby/object:Gem::Requirement
|
metadata.gz.sig
CHANGED
@@ -1 +1,2 @@
|
|
1
|
-
|
1
|
+
)��H]�-[�L��<��'$~�����G��rŰ~^�Dv@4�������V�Iƕ��-Bh�౩�O�G��VMK k� ���ͤ{�Bw#ӂc~.�ى]�*[ʸ�F���sG�����@�Q��(��W��I���D�%E��.ڰq��1�S�n[������ ����*��s[��hz��d&��AE_��گI��������7���(4T@ �'6��� �j}/Lf{���A��E�|ռ�W]z����r��7�~+�JL�|���զs��x����̳�E�q��r9�
|
2
|
+
���,��������^�a�H6u]6t�v~�J�qL9��:��q�^@8�H�>�0��ӻ�Y�6�&�8�4aY�~�����4��+�
|