From 2fb7d018d56531cb9964ec0a4917d39aabb8384b Mon Sep 17 00:00:00 2001 From: Luna Date: Wed, 31 Mar 2021 22:57:05 -0300 Subject: [PATCH] fix websocket close wrapper --- src/kemal/websocket.cr | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/kemal/websocket.cr b/src/kemal/websocket.cr index 28f58d3..b9e4d63 100644 --- a/src/kemal/websocket.cr +++ b/src/kemal/websocket.cr @@ -43,16 +43,19 @@ module Kemal context.response.status_code = 500 if error.is_a?(WebsocketError) - code = error.code.to_i16 + code = error.code.to_i32 message = error.status_message else - code = 1011_i16 + code = 1011_i32 message = "Exception" end raw = uninitialized UInt8[2] IO::ByteFormat::BigEndian.encode(code, raw.to_slice) - socket.not_nil!.close(String.new(raw.to_slice) + message) + socket.not_nil!.close( + HTTP::WebSocket::CloseCode.new(code), + message: String.new(raw.to_slice) + message + ) raise error unless error.is_a?(WebsocketError) end