async-websocket 0.26.1 → 0.26.2

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: bb4efda230c28f10a467f0d90afc709359865ea08248b55b65ab9eef402d0c1a
4
- data.tar.gz: 35be732098859b629fab5dff78dbb91b38ea52980c7c9ae9b7a8cf0421ad5a96
3
+ metadata.gz: 62c467d7d9d1346573fce502f4791549a482d9d118e5cebf6e3dd578d82bc332
4
+ data.tar.gz: e2a45431d3f38d74290c3c38bb4c3baf662cbf24e4463dea9059d2dc7074679f
5
5
  SHA512:
6
- metadata.gz: 2737cdcbe5ede4cd313f6b3ea73c43910d49089063ca4fb0eb9307460e4ee14115b1ab70e245359513d7961c32da86793c9e3761e68bbb042fc7425b0033697f
7
- data.tar.gz: 6a897cce467e1e0a3e3a45e500da460e2e35c4e4ec5942290ff816bdf2fb6bd7c57d6a000df64d44a7ec3aed07470c9f46d20743d6ffff19312f2a61cbdb7db9
6
+ metadata.gz: 8c3899cbb3370939daa04657f50fa949b1044bcc8c39c241556157d24008b8d7623c5566452cd922eda1d57d89df3009cc52a177e8fc1ca36d6a4d5e0c2a89b1
7
+ data.tar.gz: 6493fb20f5e3ab7bbf596dd0436c2584a8737d609094c557912353b0e807f210b47644d73c726b39098acddb18d893dbaf17bf3b4020ffd48ebd18833513484e
checksums.yaml.gz.sig CHANGED
Binary file
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  # Released under the MIT License.
4
- # Copyright, 2015-2023, by Samuel Williams.
4
+ # Copyright, 2015-2024, by Samuel Williams.
5
5
  # Copyright, 2019, by Bryan Powell.
6
6
  # Copyright, 2019, by Janko Marohnić.
7
7
  # Copyright, 2023, by Thomas Morgan.
@@ -54,16 +54,18 @@ module Async
54
54
 
55
55
  # @return [Connection] an open websocket connection to the given endpoint.
56
56
  def self.connect(endpoint, *arguments, **options, &block)
57
- client = self.open(endpoint, *arguments)
58
- connection = client.connect(endpoint.authority, endpoint.path, **options)
59
-
60
- return ClientCloseDecorator.new(client, connection) unless block_given?
61
-
62
- begin
63
- yield connection
64
- ensure
65
- connection.close
66
- client.close
57
+ Sync do
58
+ client = self.open(endpoint, *arguments)
59
+ connection = client.connect(endpoint.authority, endpoint.path, **options)
60
+
61
+ return ClientCloseDecorator.new(client, connection) unless block_given?
62
+
63
+ begin
64
+ yield connection
65
+ ensure
66
+ connection.close
67
+ client.close
68
+ end
67
69
  end
68
70
  end
69
71
 
@@ -80,6 +82,8 @@ module Async
80
82
  @connection = connection
81
83
  end
82
84
 
85
+ attr :connection
86
+
83
87
  def close
84
88
  super
85
89
 
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  # Released under the MIT License.
4
- # Copyright, 2018-2023, by Samuel Williams.
4
+ # Copyright, 2018-2024, by Samuel Williams.
5
5
  # Copyright, 2019, by Simon Crocker.
6
6
 
7
7
  require_relative 'connection'
@@ -1,8 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  # Released under the MIT License.
4
- # Copyright, 2019-2023, by Samuel Williams.
4
+ # Copyright, 2019-2024, by Samuel Williams.
5
5
  # Copyright, 2023, by Thomas Morgan.
6
+ # Copyright, 2024, by Ryu Sato.
6
7
 
7
8
  require 'protocol/http/middleware'
8
9
  require 'protocol/http/request'
@@ -76,7 +77,7 @@ module Async
76
77
  raise ProtocolError, "Invalid accept digest, expected #{expected_accept_digest.inspect}, got #{accept_digest.inspect}!"
77
78
  end
78
79
  end
79
- verified = accept_digest && Array(response.protocol) == %w(websocket) && response.headers['connection']&.include?('upgrade')
80
+ verified = accept_digest && Array(response.protocol).map(&:downcase) == %w(websocket) && response.headers['connection']&.include?('upgrade')
80
81
 
81
82
  return Wrapper.new(response, verified: verified)
82
83
  end
@@ -1,10 +1,10 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  # Released under the MIT License.
4
- # Copyright, 2018-2023, by Samuel Williams.
4
+ # Copyright, 2018-2024, by Samuel Williams.
5
5
 
6
6
  module Async
7
7
  module WebSocket
8
- VERSION = "0.26.1"
8
+ VERSION = "0.26.2"
9
9
  end
10
10
  end
data/license.md CHANGED
@@ -12,6 +12,7 @@ Copyright, 2021, by Aurora Nockert.
12
12
  Copyright, 2023, by Peter Runich.
13
13
  Copyright, 2023, by Thomas Morgan.
14
14
  Copyright, 2023, by Emily Love Mills.
15
+ Copyright, 2024, by Ryu Sato.
15
16
 
16
17
  Permission is hereby granted, free of charge, to any person obtaining a copy
17
18
  of this software and associated documentation files (the "Software"), to deal
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.26.1
4
+ version: 0.26.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Samuel Williams
@@ -16,6 +16,7 @@ authors:
16
16
  - Juan Antonio Martín Lucas
17
17
  - Michel Boaventura
18
18
  - Peter Runich
19
+ - Ryu Sato
19
20
  autorequire:
20
21
  bindir: bin
21
22
  cert_chain:
@@ -48,7 +49,7 @@ cert_chain:
48
49
  Q2K9NVun/S785AP05vKkXZEFYxqG6EW012U4oLcFl5MySFajYXRYbuUpH6AY+HP8
49
50
  voD0MPg1DssDLKwXyt1eKD/+Fq0bFWhwVM/1XiAXL7lyYUyOq24KHgQ2Csg=
50
51
  -----END CERTIFICATE-----
51
- date: 2024-04-24 00:00:00.000000000 Z
52
+ date: 2024-06-20 00:00:00.000000000 Z
52
53
  dependencies:
53
54
  - !ruby/object:Gem::Dependency
54
55
  name: async-http
@@ -84,14 +85,14 @@ dependencies:
84
85
  requirements:
85
86
  - - "~>"
86
87
  - !ruby/object:Gem::Version
87
- version: '0.11'
88
+ version: '0.14'
88
89
  type: :runtime
89
90
  prerelease: false
90
91
  version_requirements: !ruby/object:Gem::Requirement
91
92
  requirements:
92
93
  - - "~>"
93
94
  - !ruby/object:Gem::Version
94
- version: '0.11'
95
+ version: '0.14'
95
96
  description:
96
97
  email:
97
98
  executables: []
@@ -137,7 +138,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
137
138
  - !ruby/object:Gem::Version
138
139
  version: '0'
139
140
  requirements: []
140
- rubygems_version: 3.5.3
141
+ rubygems_version: 3.5.11
141
142
  signing_key:
142
143
  specification_version: 4
143
144
  summary: An async websocket library on top of protocol-websocket.
metadata.gz.sig CHANGED
Binary file