async-websocket 0.30.0 → 0.30.1

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: 65d7e723e07e05a813e668c1e4a3dfb82213b1b76955d2e1c8d7f8bcd338de8a
4
- data.tar.gz: cbfe2bc3be018398c2c5787052cf5e381a10c3d8695a324be386cb7aef20f0df
3
+ metadata.gz: 1c4076e31bc3e3d39615d420c66bdbca7943a395096b5c6146a6edc7513519ff
4
+ data.tar.gz: b3126c73147cb578e7bdd155e032c14eb1cc7d482abfa21867d1f82007b65f93
5
5
  SHA512:
6
- metadata.gz: 9973e91dc44e1a8e072acd3f9c7c8fb999d62f3c0fc9a4e0e4e45558453e3f780838ed30e7a7216094afe059a5eb9831b06e0a36b92ec5ff5126f94eec8b46c5
7
- data.tar.gz: bde87b0d45786863bf68c4c6d463fbc102ab2e3a0fa12c7fff9f346f5594858065d72ae6ee3b2bcfeb9289c1432681fb62f2350abc65d52257b62658ab3186bc
6
+ metadata.gz: 05acd66f5cb9845e47a52a2c9031453c52d210c2c5fdaf913e64c1bf0fc3191c290cd9927b5fe104d716191442241014f1607497fd4dff0b48e125667b97b529
7
+ data.tar.gz: e065279f0b8e409f570ff2627501a8371b8c1f4a29a6f056c5627de5a9ee13f675ad1a8a90f909a0ecfc1ececcc7bb823c7744030312f1679ad2ffc3a583cb11
checksums.yaml.gz.sig CHANGED
@@ -1,3 +1,3 @@
1
- g��d_���5��M�Ώk�%mx$ؙ_!�[|�=�yBC0��פ!�}���ֶ`�F+;��QM���P����xLa�GL�+}]K��g�6TkDWՊ����,v��~ �f��J{&�}2c/��#�HJOOR0�A�3��S��u���x
2
- 9�Z�����*
3
- 3��OB�I:qL�n���1s�
1
+ ]i�$-�O'��-f����8�IU�{�� ;�o�D�yH���&��O��< en�/ݴ�a%��d��F"�|>�ੑ�b�v8t9��+Γ�Ə��Ԡ��ل�\q���d������ETF\K�‡�|߁��:*y�.7y����w�Ȗq:tt3�`*g�u HM~��A!](m- �]Zl��xD`D�{%��� �����s�� ]��+9���g��F���T[��\3�������i�(ș
2
+ u���;� �(�+���¿���Z�sup��K��id�?_�k�
3
+ �������GO���1��jǢh����͞Ԉt_V��n]�*��x���.V��Dz�k���0^�W-�>���U´��KM��c����GZr����
@@ -0,0 +1,91 @@
1
+ # Getting Started
2
+
3
+ This guide shows you how to implement a basic client and server.
4
+
5
+ ## Installation
6
+
7
+ Add the gem to your project:
8
+
9
+ ~~~ bash
10
+ $ bundle add async-websocket
11
+ ~~~
12
+
13
+ ## Overview Video
14
+
15
+ <content:youtube-video id="aHop4Yyjs_o" />
16
+
17
+ ## Client Implementation
18
+
19
+ ~~~ ruby
20
+ #!/usr/bin/env ruby
21
+
22
+ require 'async'
23
+ require 'async/http/endpoint'
24
+ require 'async/websocket/client'
25
+
26
+ USER = ARGV.pop || "anonymous"
27
+ URL = ARGV.pop || "http://localhost:7070"
28
+
29
+ Async do |task|
30
+ endpoint = Async::HTTP::Endpoint.parse(URL)
31
+
32
+ Async::WebSocket::Client.connect(endpoint) do |connection|
33
+ input_task = task.async do
34
+ while line = $stdin.gets
35
+ connection.write({user: USER, text: line})
36
+ connection.flush
37
+ end
38
+ end
39
+
40
+ # Generate a text message by geneating a JSON payload from a hash:
41
+ connection.write(Protocol::WebSocket::TextMessage.generate({
42
+ user: USER,
43
+ status: "connected",
44
+ }))
45
+
46
+ while message = connection.read
47
+ puts message.inspect
48
+ end
49
+ ensure
50
+ input_task&.stop
51
+ end
52
+ end
53
+ ~~~
54
+
55
+ ### Force HTTP/1 Connection
56
+
57
+ This forces the endpoint to connect using `HTTP/1.1`.
58
+
59
+ ~~~ ruby
60
+ endpoint = Async::HTTP::Endpoint.parse("https://remote-server.com", alpn_protocols: Async::HTTP::Protocol::HTTP11.names)
61
+
62
+ Async::WebSocket::Client.connect(endpoint) do ...
63
+ ~~~
64
+
65
+ You may want to use this if the server advertises `HTTP/2` but doesn't support `HTTP/2` for WebSocket connections.
66
+
67
+ ## Server Side with Rack & Falcon
68
+
69
+ ~~~ ruby
70
+ #!/usr/bin/env -S falcon serve --bind http://localhost:7070 --count 1 -c
71
+
72
+ require 'async/websocket/adapters/rack'
73
+ require 'set'
74
+
75
+ $connections = Set.new
76
+
77
+ run lambda {|env|
78
+ Async::WebSocket::Adapters::Rack.open(env, protocols: ['ws']) do |connection|
79
+ $connections << connection
80
+
81
+ while message = connection.read
82
+ $connections.each do |connection|
83
+ connection.write(message)
84
+ connection.flush
85
+ end
86
+ end
87
+ ensure
88
+ $connections.delete(connection)
89
+ end or [200, {}, ["Hello World"]]
90
+ }
91
+ ~~~
@@ -0,0 +1,15 @@
1
+ # Automatically generated context index for Utopia::Project guides.
2
+ # Do not edit then files in this directory directly, instead edit the guides and then run `bake utopia:project:agent:context:update`.
3
+ ---
4
+ description: An async websocket library on top of protocol-websocket.
5
+ metadata:
6
+ documentation_uri: https://socketry.github.io/async-websocket/
7
+ funding_uri: https://github.com/sponsors/ioquatix
8
+ source_code_uri: https://github.com/socketry/async-websocket.git
9
+ files:
10
+ - path: getting-started.md
11
+ title: Getting Started
12
+ description: This guide shows you how to implement a basic client and server.
13
+ - path: rails-integration.md
14
+ title: Rails Integration
15
+ description: This guide explains how to use `async-websocket` with Rails.
@@ -0,0 +1,121 @@
1
+ # Rails Integration
2
+
3
+ This guide explains how to use `async-websocket` with Rails.
4
+
5
+ ## Project Setup
6
+
7
+ Firstly, we will create a new project for the purpose of this guide:
8
+
9
+ ~~~ bash
10
+ $ rails new websockets
11
+ --- snip ---
12
+ ~~~
13
+
14
+ Then, we need to add the `Async::WebSocket` gem:
15
+
16
+ ~~~ bash
17
+ $ bundle add async-websocket
18
+ ~~~
19
+
20
+ ## Adding the WebSocket Controller
21
+
22
+ Firstly, generate the controller with a single method:
23
+
24
+ ~~~ bash
25
+ $ rails generate controller home index
26
+ ~~~
27
+
28
+ Then edit your controller implementation:
29
+
30
+ ~~~ ruby
31
+ require 'async/websocket/adapters/rails'
32
+
33
+ class HomeController < ApplicationController
34
+ # WebSocket clients may not send CSRF tokens, so we need to disable this check.
35
+ skip_before_action :verify_authenticity_token, only: [:index]
36
+
37
+ def index
38
+ self.response = Async::WebSocket::Adapters::Rails.open(request) do |connection|
39
+ message = Protocol::WebSocket::TextMessage.generate({message: "Hello World"})
40
+ connection.write(message)
41
+ end
42
+ end
43
+ end
44
+ ~~~
45
+
46
+ ### Testing
47
+
48
+ You can quickly test that the above controller is working. First, start the Rails server:
49
+
50
+ ~~~ bash
51
+ $ rails s
52
+ => Booting Puma
53
+ => Rails 7.2.0.beta2 application starting in development
54
+ => Run `bin/rails server --help` for more startup options
55
+ ~~~
56
+
57
+ Then you can connect to the server using a WebSocket client:
58
+
59
+ ~~~ bash
60
+ $ websocat ws://localhost:3000/home/index
61
+ {"message":"Hello World"}
62
+ ~~~
63
+
64
+ ### Using Falcon
65
+
66
+ The default Rails server (Puma) is not suitable for handling a large number of connected WebSocket clients, as it has a limited number of threads (typically between 8 and 16). Each WebSocket connection will require a thread, so the server will quickly run out of threads and be unable to accept new connections. To solve this problem, we can use [Falcon](https://github.com/socketry/falcon) instead, which uses a fiber-per-request architecture and can handle a large number of connections.
67
+
68
+ We need to remove Puma and add Falcon::
69
+
70
+ ~~~ bash
71
+ $ bundle remove puma
72
+ $ bundle add falcon
73
+ ~~~
74
+
75
+ Now when you start the server you should see something like this:
76
+
77
+ ~~~ bash
78
+ $ rails s
79
+ => Booting Falcon v0.47.7
80
+ => Rails 7.2.0.beta2 application starting in development http://localhost:3000
81
+ => Run `bin/rails server --help` for more startup options
82
+ ~~~
83
+
84
+
85
+ ### Using HTTP/2
86
+
87
+ Falcon supports HTTP/2, which can be used to improve the performance of WebSocket connections. HTTP/1.1 requires a separate TCP connection for each WebSocket connection, while HTTP/2 can handle multiple requessts and WebSocket connections over a single TCP connection. To use HTTP/2, you'd typically use `https`, which allows the client browser to use application layer protocol negotiation (ALPN) to negotiate the use of HTTP/2.
88
+
89
+ HTTP/2 WebSockets are a bit different from HTTP/1.1 WebSockets. In HTTP/1, the client sends a `GET` request with the `upgrade:` header. In HTTP/2, the client sends a `CONNECT` request with the `:protocol` pseud-header. The Rails routes must be adjusted to accept both methods:
90
+
91
+ ~~~ ruby
92
+ Rails.application.routes.draw do
93
+ # Previously it was this:
94
+ # get "home/index"
95
+ match "home/index", to: "home#index", via: [:get, :connect]
96
+ end
97
+ ~~~
98
+
99
+ Once this is done, you need to bind falcon to an `https` endpoint:
100
+
101
+ ~~~ bash
102
+ $ falcon serve --bind "https://localhost:3000"
103
+ ~~~
104
+
105
+ It's a bit more tricky to test this, but you can do so with the following Ruby code:
106
+
107
+ ~~~ ruby
108
+ require 'async/http/endpoint'
109
+ require 'async/websocket/client'
110
+
111
+ endpoint = Async::HTTP::Endpoint.parse("https://localhost:3000/home/index")
112
+
113
+ Async::WebSocket::Client.connect(endpoint) do |connection|
114
+ puts connection.framer.connection.class
115
+ # Async::HTTP::Protocol::HTTP2::Client
116
+
117
+ while message = connection.read
118
+ puts message.inspect
119
+ end
120
+ end
121
+ ~~~
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  # Released under the MIT License.
4
- # Copyright, 2021-2024, by Samuel Williams.
4
+ # Copyright, 2021-2026, by Samuel Williams.
5
5
  # Copyright, 2021, by Aurora Nockert.
6
6
 
7
7
  require_relative "../connection"
@@ -16,7 +16,7 @@ module Async
16
16
  include ::Protocol::WebSocket::Headers
17
17
 
18
18
  def self.websocket?(request)
19
- Array(request.protocol).any? { |e| e.casecmp?(PROTOCOL) }
19
+ Array(request.protocol).any?{|e| e.casecmp?(PROTOCOL)}
20
20
  end
21
21
 
22
22
  def self.open(request, headers: [], protocols: [], handler: Connection, extensions: ::Protocol::WebSocket::Extensions::Server.default, **options, &block)
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  # Released under the MIT License.
4
- # Copyright, 2015-2024, by Samuel Williams.
4
+ # Copyright, 2015-2026, by Samuel Williams.
5
5
  # Copyright, 2019, by Bryan Powell.
6
6
  # Copyright, 2019, by Janko Marohnić.
7
7
  # Copyright, 2023, by Thomas Morgan.
@@ -62,7 +62,6 @@ module Async
62
62
 
63
63
  begin
64
64
  yield connection
65
-
66
65
  ensure
67
66
  connection&.close
68
67
  client&.close
@@ -5,6 +5,6 @@
5
5
 
6
6
  module Async
7
7
  module WebSocket
8
- VERSION = "0.30.0"
8
+ VERSION = "0.30.1"
9
9
  end
10
10
  end
data/license.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # MIT License
2
2
 
3
- Copyright, 2015-2024, by Samuel Williams.
3
+ Copyright, 2015-2026, by Samuel Williams.
4
4
  Copyright, 2019, by Bryan Powell.
5
5
  Copyright, 2019, by Simon Crocker.
6
6
  Copyright, 2019, by Michel Boaventura.
data/readme.md CHANGED
@@ -12,6 +12,58 @@ Please see the [project documentation](https://socketry.github.io/async-websocke
12
12
 
13
13
  - [Rails Integration](https://socketry.github.io/async-websocket/guides/rails-integration/index) - This guide explains how to use `async-websocket` with Rails.
14
14
 
15
+ ## Releases
16
+
17
+ Please see the [project releases](https://socketry.github.io/async-websocket/releases/index) for all releases.
18
+
19
+ ### v0.30.1
20
+
21
+ ### v0.30.0
22
+
23
+ - Improved error handling.
24
+ - Modernized the gem and refreshed dependencies.
25
+
26
+ ### v0.29.1
27
+
28
+ - Improved `connection&.close` handling.
29
+
30
+ ### v0.29.0
31
+
32
+ - Added nonce processing to HTTP/2 WebSockets for HTTP/1 proxy compatibility.
33
+
34
+ ### v0.28.0
35
+
36
+ - Added `ConnectionError` with access to the failed response.
37
+
38
+ ### v0.27.0
39
+
40
+ - Updated the Rails integration guide summary.
41
+ - Modernized the gem and refreshed dependencies.
42
+
43
+ ### v0.26.2
44
+
45
+ - Compared requested WebSocket protocols case-insensitively.
46
+ - Updated the Binance, chat, MUD, and Rack examples.
47
+ - Improved documentation, including the Rails integration guide.
48
+ - Removed obsolete Polygon.io and Utopia examples.
49
+
50
+ ### v0.26.1
51
+
52
+ - Removed the direct dependency on `async-io`.
53
+ - Updated the `sus-fixtures-async-http` dependency.
54
+
55
+ ### v0.26.0
56
+
57
+ - Improved validation of WebSocket requests.
58
+ - Ensured HTTP/2 requests include the `:scheme` pseudo-header.
59
+ - Improved HTTP/1 stream checks.
60
+ - Fixed arguments passed to 404 responses.
61
+ - Updated documentation and links.
62
+
63
+ ### v0.25.1
64
+
65
+ - Updated the minimum `protocol-websocket` version.
66
+
15
67
  ## Contributing
16
68
 
17
69
  We welcome contributions to this project.
@@ -22,6 +74,22 @@ We welcome contributions to this project.
22
74
  4. Push to the branch (`git push origin my-new-feature`).
23
75
  5. Create new Pull Request.
24
76
 
77
+ ### Running Tests
78
+
79
+ To run the test suite:
80
+
81
+ ``` shell
82
+ bundle exec sus
83
+ ```
84
+
85
+ ### Making Releases
86
+
87
+ To make a new release:
88
+
89
+ ``` shell
90
+ bundle exec bake gem:release:patch # or minor or major
91
+ ```
92
+
25
93
  ### Developer Certificate of Origin
26
94
 
27
95
  In order to protect users of this project, we require all contributors to comply with the [Developer Certificate of Origin](https://developercertificate.org/). This ensures that all contributions are properly licensed and attributed.
data/releases.md ADDED
@@ -0,0 +1,249 @@
1
+ # Releases
2
+
3
+ ## v0.30.1
4
+
5
+ ## v0.30.0
6
+
7
+ - Improved error handling.
8
+ - Modernized the gem and refreshed dependencies.
9
+
10
+ ## v0.29.1
11
+
12
+ - Improved `connection&.close` handling.
13
+
14
+ ## v0.29.0
15
+
16
+ - Added nonce processing to HTTP/2 WebSockets for HTTP/1 proxy compatibility.
17
+
18
+ ## v0.28.0
19
+
20
+ - Added `ConnectionError` with access to the failed response.
21
+
22
+ ## v0.27.0
23
+
24
+ - Updated the Rails integration guide summary.
25
+ - Modernized the gem and refreshed dependencies.
26
+
27
+ ## v0.26.2
28
+
29
+ - Compared requested WebSocket protocols case-insensitively.
30
+ - Updated the Binance, chat, MUD, and Rack examples.
31
+ - Improved documentation, including the Rails integration guide.
32
+ - Removed obsolete Polygon.io and Utopia examples.
33
+
34
+ ## v0.26.1
35
+
36
+ - Removed the direct dependency on `async-io`.
37
+ - Updated the `sus-fixtures-async-http` dependency.
38
+
39
+ ## v0.26.0
40
+
41
+ - Improved validation of WebSocket requests.
42
+ - Ensured HTTP/2 requests include the `:scheme` pseudo-header.
43
+ - Improved HTTP/1 stream checks.
44
+ - Fixed arguments passed to 404 responses.
45
+ - Updated documentation and links.
46
+
47
+ ## v0.25.1
48
+
49
+ - Updated the minimum `protocol-websocket` version.
50
+
51
+ ## v0.25.0
52
+
53
+ - Allowed arguments to be passed through to `#close`.
54
+ - Improved close behavior.
55
+
56
+ ## v0.24.0
57
+
58
+ - Used standard response handling for Rails.
59
+
60
+ ## v0.23.1
61
+
62
+ - Relaxed the dependency on `protocol-websocket`.
63
+
64
+ ## v0.23.0
65
+
66
+ - Ensured clients are closed when their connections are closed.
67
+ - Fixed the `Server` implementation.
68
+ - Removed an unused `@response` instance variable.
69
+ - Improved coverage for `Client`, `Connection`, `Response`, and dangling connection handling.
70
+ - Added early Rails documentation.
71
+
72
+ ## v0.22.1
73
+
74
+ - Added a missing `protocol/rack/adapter` require.
75
+ - Updated the chat example for the message-based protocol interface.
76
+ - Migrated tests to `sus`.
77
+ - Updated examples for Rack 3 and high-connection-count usage.
78
+
79
+ ## v0.22.0
80
+
81
+ - Removed default JSON parsing.
82
+ - Updated the connection interface to use message-based `read` and `write`.
83
+
84
+ ## v0.21.0
85
+
86
+ - Added support for WebSocket extensions.
87
+
88
+ ## v0.20.0
89
+
90
+ - Made protocol handling Falcon-agnostic.
91
+
92
+ ## v0.19.2
93
+
94
+ - Removed an unused require.
95
+ - Modernized the gem.
96
+
97
+ ## v0.19.1
98
+
99
+ - Made protocol upgrades case-insensitive.
100
+ - Used bound endpoints in server tests to avoid race conditions.
101
+ - Added an example using `wscat`.
102
+ - Adopted `bake-gem` for release management.
103
+
104
+ ## v0.19.0
105
+
106
+ - Added an `http` adapter.
107
+ - Added a Binance HTTP/1 client example.
108
+ - Fixed client handling in `Client#connect`.
109
+ - Updated logging to use `Console.logger`.
110
+
111
+ ## v0.18.0
112
+
113
+ - Added a Rails adapter.
114
+
115
+ ## v0.17.0
116
+
117
+ - Added support for reconnecting after server disconnection.
118
+ - Updated keyword argument handling.
119
+ - Updated Utopia examples and dependencies.
120
+
121
+ ## v0.16.0
122
+
123
+ - Always applied masking to client connections.
124
+ - Passed `endpoint.authority` through to `#connect`.
125
+ - Added a Polygon.io client example.
126
+ - Fixed `GC.count` logging.
127
+
128
+ ## v0.15.0
129
+
130
+ - Improved connection handling and releasing connections back to the pool.
131
+ - Ensured Rack response headers are returned as a hash.
132
+ - Added static documentation.
133
+ - Modernized the gem and improved documentation.
134
+
135
+ ## v0.14.0
136
+
137
+ - Reduced memory usage in high-connection-count examples.
138
+ - Avoided repeated `getaddrinfo` calls per connection.
139
+ - Added explicit connection management.
140
+ - Added documentation for `Client.open` and `Client.connect`.
141
+ - Improved HTTP/1 forcing, Rack, MUD, and Utopia examples.
142
+ - Added profiling support.
143
+ - Switched release tooling toward `bake-bundler`.
144
+
145
+ ## v0.13.1
146
+
147
+ - Fixed HTTP/2 client output body handling.
148
+ - Added HTTP/2 WebSocket support to the chat example.
149
+ - Added message read/write coverage.
150
+
151
+ ## v0.13.0
152
+
153
+ - Passed all options through to `connect`.
154
+
155
+ ## v0.12.2
156
+
157
+ - Updated examples and documentation to use `Adapters::Rack`.
158
+ - Removed debug logging.
159
+ - Refreshed dependencies.
160
+
161
+ ## v0.12.1
162
+
163
+ - Closed and flushed connections automatically when users did not close them explicitly.
164
+
165
+ ## v0.12.0
166
+
167
+ - Added links to relevant RFCs and documented HTTP/2 support.
168
+ - Removed an unused response field.
169
+
170
+ ## v0.11.1
171
+
172
+ - Fixed examples.
173
+
174
+ ## v0.11.0
175
+
176
+ - Started support for both HTTP/1 and HTTP/2 WebSockets.
177
+ - Renamed `URLEndpoint` to `Endpoint`.
178
+ - Preferred `endpoint` terminology over `server_address`.
179
+ - Moved protocol constants into the protocol gem.
180
+ - Fixed client specs.
181
+
182
+ ## v0.10.0
183
+
184
+ - Improved upgrade and masking handling.
185
+ - Allowed user-provided connection handlers.
186
+ - Refactored connection IO to use `Connection#read` and `Connection#write`.
187
+ - Added a simple MUD example.
188
+ - Removed the broken Utopia example.
189
+
190
+ ## v0.9.0
191
+
192
+ - Switched to `protocol-websocket`.
193
+ - Added protocol negotiation and frame validation.
194
+ - Exposed the underlying socket.
195
+ - Improved client/server examples and EOF handling.
196
+ - Removed redundant headers.
197
+
198
+ ## v0.8.0
199
+
200
+ - Added support for `sec-websocket-protocol` options.
201
+ - Added support for passing protocols and normalized client/server option handling.
202
+
203
+ ## v0.7.0
204
+
205
+ - Set headers on WebSocket driver clients.
206
+ - Added more README examples.
207
+ - Preferred `Async do` in examples.
208
+
209
+ ## v0.6.1
210
+
211
+ - Avoided closing connections from `Connection`; client and server lifecycle now close them explicitly.
212
+
213
+ ## v0.6.0
214
+
215
+ - Improved handling of hijacked IO.
216
+
217
+ ## v0.5.0
218
+
219
+ - Added a simple web-based chat app.
220
+ - Added partial support for Rack hijacking changes.
221
+ - Preferred `#readpartial` for input loops.
222
+ - Used the stream block size for reads.
223
+
224
+ ## v0.4.1
225
+
226
+ - Handled `Errno::ECONNRESET`.
227
+
228
+ ## v0.4.0
229
+
230
+ - Updated examples and documentation.
231
+ - Improved peer handling from call results.
232
+
233
+ ## v0.3.0
234
+
235
+ - Added example chat client and server.
236
+ - Reworked legacy code and fixed specs.
237
+
238
+ ## v0.2.0
239
+
240
+ - Renamed the gem to `async-websocket`.
241
+ - Tidied legacy socket lifetime management.
242
+ - Converted connection handling to sequential logic.
243
+ - Improved data stream handling.
244
+ - Handled EOF.
245
+
246
+ ## v0.1.0
247
+
248
+ - Added the initial synchronous WebSocket implementation.
249
+ - Added specs and fixed early implementation issues.
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.30.0
4
+ version: 0.30.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Samuel Williams
@@ -17,7 +17,6 @@ authors:
17
17
  - Michel Boaventura
18
18
  - Peter Runich
19
19
  - Ryu Sato
20
- autorequire:
21
20
  bindir: bin
22
21
  cert_chain:
23
22
  - |
@@ -49,7 +48,7 @@ cert_chain:
49
48
  Q2K9NVun/S785AP05vKkXZEFYxqG6EW012U4oLcFl5MySFajYXRYbuUpH6AY+HP8
50
49
  voD0MPg1DssDLKwXyt1eKD/+Fq0bFWhwVM/1XiAXL7lyYUyOq24KHgQ2Csg=
51
50
  -----END CERTIFICATE-----
52
- date: 2024-09-11 00:00:00.000000000 Z
51
+ date: 1980-01-02 00:00:00.000000000 Z
53
52
  dependencies:
54
53
  - !ruby/object:Gem::Dependency
55
54
  name: async-http
@@ -107,12 +106,13 @@ dependencies:
107
106
  - - "~>"
108
107
  - !ruby/object:Gem::Version
109
108
  version: '0.17'
110
- description:
111
- email:
112
109
  executables: []
113
110
  extensions: []
114
111
  extra_rdoc_files: []
115
112
  files:
113
+ - context/getting-started.md
114
+ - context/index.yaml
115
+ - context/rails-integration.md
116
116
  - lib/async/websocket.rb
117
117
  - lib/async/websocket/adapters/http.rb
118
118
  - lib/async/websocket/adapters/rack.rb
@@ -130,6 +130,7 @@ files:
130
130
  - lib/async/websocket/version.rb
131
131
  - license.md
132
132
  - readme.md
133
+ - releases.md
133
134
  homepage: https://github.com/socketry/async-websocket
134
135
  licenses:
135
136
  - MIT
@@ -137,7 +138,6 @@ metadata:
137
138
  documentation_uri: https://socketry.github.io/async-websocket/
138
139
  funding_uri: https://github.com/sponsors/ioquatix
139
140
  source_code_uri: https://github.com/socketry/async-websocket.git
140
- post_install_message:
141
141
  rdoc_options: []
142
142
  require_paths:
143
143
  - lib
@@ -145,15 +145,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
145
145
  requirements:
146
146
  - - ">="
147
147
  - !ruby/object:Gem::Version
148
- version: '3.1'
148
+ version: '3.3'
149
149
  required_rubygems_version: !ruby/object:Gem::Requirement
150
150
  requirements:
151
151
  - - ">="
152
152
  - !ruby/object:Gem::Version
153
153
  version: '0'
154
154
  requirements: []
155
- rubygems_version: 3.5.11
156
- signing_key:
155
+ rubygems_version: 4.0.10
157
156
  specification_version: 4
158
157
  summary: An async websocket library on top of protocol-websocket.
159
158
  test_files: []
metadata.gz.sig CHANGED
Binary file