async-cable 0.2.0 → 0.3.0
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 +4 -4
- checksums.yaml.gz.sig +0 -0
- data/lib/async/cable/middleware.rb +8 -3
- data/lib/async/cable/version.rb +1 -1
- data/readme.md +4 -0
- data/releases.md +4 -0
- data.tar.gz.sig +0 -0
- metadata +1 -1
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b9aa3fe6a825d58f713ffd71b32b26bd034de7f3175ee6b9505e4f53433f6999
|
4
|
+
data.tar.gz: 5bea7df4792f6f0bf2ed0847437ac13f23972de50b443854f597b4f9b8b6defa
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2291b430d4dbfd1072d8dadb1643857e71e84ef749dd08f6bb97168cdb842af6edf6da703d41acc370d9899e0130fffd068ac568a0d5bf269306746e3aeefe11
|
7
|
+
data.tar.gz: aa8346b8289d1dbe14e606631506ee5a2801cef846a67b13cb0e092806f0da1c6cdf980358b43163c3b2a614fea71bd5f8363383051f741ff39a03794a0e5ff7
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
@@ -11,8 +11,9 @@ require_relative "socket"
|
|
11
11
|
module Async
|
12
12
|
module Cable
|
13
13
|
class Middleware
|
14
|
-
def initialize(app, server: ActionCable.server)
|
14
|
+
def initialize(app, path: "/cable", server: ActionCable.server)
|
15
15
|
@app = app
|
16
|
+
@path = path
|
16
17
|
@server = server
|
17
18
|
@coder = ActiveSupport::JSON
|
18
19
|
@protocols = ::ActionCable::INTERNAL[:protocols]
|
@@ -20,8 +21,12 @@ module Async
|
|
20
21
|
|
21
22
|
attr :server
|
22
23
|
|
24
|
+
def valid_path?(env)
|
25
|
+
env["PATH_INFO"] == @path
|
26
|
+
end
|
27
|
+
|
23
28
|
def call(env)
|
24
|
-
if Async::WebSocket::Adapters::Rack.websocket?(env) and allow_request_origin?(env)
|
29
|
+
if valid_path?(env) and Async::WebSocket::Adapters::Rack.websocket?(env) and allow_request_origin?(env)
|
25
30
|
Async::WebSocket::Adapters::Rack.open(env, protocols: @protocols) do |websocket|
|
26
31
|
handle_incoming_websocket(env, websocket)
|
27
32
|
end
|
@@ -43,7 +48,7 @@ module Async
|
|
43
48
|
socket_task = socket.run
|
44
49
|
|
45
50
|
while message = websocket.read
|
46
|
-
Console.debug(self, "Received cable data:", message.buffer)
|
51
|
+
# Console.debug(self, "Received cable data:", message.buffer)
|
47
52
|
connection.handle_incoming(@coder.decode(message.buffer))
|
48
53
|
end
|
49
54
|
rescue Protocol::WebSocket::ClosedError, EOFError
|
data/lib/async/cable/version.rb
CHANGED
data/readme.md
CHANGED
@@ -14,6 +14,10 @@ Please see the [project documentation](https://socketry.github.io/async-cable/)
|
|
14
14
|
|
15
15
|
Please see the [project releases](https://socketry.github.io/async-cable/releases/index) for all releases.
|
16
16
|
|
17
|
+
### v0.3.0
|
18
|
+
|
19
|
+
- Filter requests based on path - don't eat all inbound WebSocket connections.
|
20
|
+
|
17
21
|
### v0.2.0
|
18
22
|
|
19
23
|
- Don't close the WebSocket if it is already closed.
|
data/releases.md
CHANGED
data.tar.gz.sig
CHANGED
Binary file
|
metadata
CHANGED
metadata.gz.sig
CHANGED
Binary file
|