diff --git a/shard.yml b/shard.yml index c0c954d..4a187a6 100644 --- a/shard.yml +++ b/shard.yml @@ -1,5 +1,5 @@ name: networkd -version: 0.1.0 +version: 0.1.1 authors: - karchnu diff --git a/src/websocketd.cr b/src/websocketd.cr index bda39ea..8411c02 100644 --- a/src/websocketd.cr +++ b/src/websocketd.cr @@ -122,10 +122,15 @@ def websocket_client_connection(client, context : InstanceStorage) raise "#REQUEST IS NIL" end - if request.is_a? HTTP::Request::BadRequest + if request.is_a? HTTP::Status && request == HTTP::Status::BAD_REQUEST raise "BAD REQUEST DAZE~" end + if request.is_a? HTTP::Status + raise "Not bad request but still pretty bad: #{request.to_s}" + end + + # FIXME: check they actually wanted to upgrade to websocket key = request.headers["Sec-WebSocket-Key"] response_key = Digest::SHA1.base64digest key + "258EAFA5-E914-47DA-95CA-C5AB0DC85B11"