Skip to content

Commit 4f286c7

Browse files
authored
Update websocket.cr
1 parent 53d1e24 commit 4f286c7

File tree

1 file changed

+5
-9
lines changed

1 file changed

+5
-9
lines changed

src/grip/controllers/websocket.cr

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,17 @@
11
module Grip
22
module Controllers
3-
class WebSocket
3+
class WebSocket < HTTP::WebSocket
44
alias Context = HTTP::Server::Context
55
alias Socket = HTTP::WebSocket::Protocol
66

77
include HTTP::Handler
88
include Helpers::Singleton
99

10-
getter? closed = false
11-
1210
# :nodoc:
1311
def initialize
1412
@buffer = Bytes.new(4096)
1513
@current_message = IO::Memory.new
14+
@ws = HTTP::WebSocket::Protocol.new(IO::Memory.new, sync_close: true)
1615
end
1716

1817
def on_open(context : Context, socket : Socket) : Void
@@ -33,10 +32,6 @@ module Grip
3332
def on_close(context : Context, socket : Socket, close_code : HTTP::WebSocket::CloseCode | Int?, message : String) : Void
3433
end
3534

36-
protected def check_open
37-
raise IO::Error.new "Closed socket" if closed?
38-
end
39-
4035
def run(context, socket)
4136
on_open(context, socket)
4237

@@ -125,9 +120,10 @@ module Grip
125120
response.headers["Upgrade"] = "websocket"
126121
response.headers["Connection"] = "Upgrade"
127122
response.headers["Sec-WebSocket-Accept"] = accept_code
123+
128124
response.upgrade do |io|
129-
socket = HTTP::WebSocket::Protocol.new(io, sync_close: true)
130-
run(context, socket)
125+
@ws = HTTP::WebSocket::Protocol.new(io, sync_close: true)
126+
run(context, @ws)
131127
end
132128

133129
context

0 commit comments

Comments
 (0)