async-websocket 0.28.0 → 0.29.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 888f2fa13744599f5f16f22feba6826ad1b8e44dc59520480daee4663cc89341
4
- data.tar.gz: f81c1f4d77d0593d6bfb59a5bd8c307ddaa218e5b22999f2f08ae5d5801e9dd4
3
+ metadata.gz: 4289b4859913198c24ca663a119281dd61bb34549e6cfe3cc9b85fe27e31c6ab
4
+ data.tar.gz: 651f3364c06bd402877b94a36f2d358ab3cc1167a0aa9dd2c44b3745be04cfe5
5
5
  SHA512:
6
- metadata.gz: 6b71ab0e424b91f2e6500cc1277ac1edc7491f32144df6efc49847fbcdd200a9586b7be08d28341592862858cd4be6e7b1f5d31f983c6492b6667f4d543ec62c
7
- data.tar.gz: fb32ff7cc27011471594bf111dbbad00d4e458dc58664e916d426aea48fa808a33eb8e02304a31640d8179e0a21a09264b0811cacd8ac9c54e901b8055dec3c9
6
+ metadata.gz: ec78385e62fe64eae8e50e7f8cd70f7f1a317c3a9961d72ac0f33f1682d99fc6bb753ce91611bceaa9cb642edd978dcb6d59ca4dbea978c1b0d9804a934dddb6
7
+ data.tar.gz: da98480c126237140e19e45983ce73cb47e949c29078a5d867f694e02eab180e7f707649a0a4f6ad8e6377ea6412faddca63822866e73027995695aaecb12a90
checksums.yaml.gz.sig CHANGED
Binary file
@@ -19,6 +19,11 @@ module Async
19
19
  headers.add(SEC_WEBSOCKET_PROTOCOL, protocol)
20
20
  end
21
21
 
22
+ # For compatibility with HTTP/1 websockets proxied over HTTP/2, we process the accept nounce here:
23
+ if accept_nounce = request.headers[SEC_WEBSOCKET_KEY]&.first
24
+ headers.add(SEC_WEBSOCKET_ACCEPT, Nounce.accept_digest(accept_nounce))
25
+ end
26
+
22
27
  body = Async::HTTP::Body::Hijack.wrap(request, &block)
23
28
 
24
29
  super(request.version, 200, headers, body)
@@ -81,6 +81,7 @@ module Async
81
81
  raise ProtocolError, "Invalid accept digest, expected #{expected_accept_digest.inspect}, got #{accept_digest.inspect}!"
82
82
  end
83
83
  end
84
+
84
85
  verified = accept_digest && Array(response.protocol).map(&:downcase) == %w(websocket) && response.headers['connection']&.include?('upgrade')
85
86
 
86
87
  return Wrapper.new(response, verified: verified)
@@ -5,6 +5,6 @@
5
5
 
6
6
  module Async
7
7
  module WebSocket
8
- VERSION = "0.28.0"
8
+ VERSION = "0.29.0"
9
9
  end
10
10
  end
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: async-websocket
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.28.0
4
+ version: 0.29.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Samuel Williams
@@ -49,7 +49,7 @@ cert_chain:
49
49
  Q2K9NVun/S785AP05vKkXZEFYxqG6EW012U4oLcFl5MySFajYXRYbuUpH6AY+HP8
50
50
  voD0MPg1DssDLKwXyt1eKD/+Fq0bFWhwVM/1XiAXL7lyYUyOq24KHgQ2Csg=
51
51
  -----END CERTIFICATE-----
52
- date: 2024-07-19 00:00:00.000000000 Z
52
+ date: 2024-09-03 00:00:00.000000000 Z
53
53
  dependencies:
54
54
  - !ruby/object:Gem::Dependency
55
55
  name: async-http
metadata.gz.sig CHANGED
Binary file