summaryrefslogtreecommitdiff
path: root/websockify/websocket.py
diff options
context:
space:
mode:
authorPierre Ossman <ossman@cendio.se>2017-01-19 14:53:15 +0100
committerPierre Ossman <ossman@cendio.se>2017-01-19 14:53:15 +0100
commit30942f12d3909fd9bb4302a9d0b0567c7bcd216a (patch)
tree26d0c04d2164a0cdd724de359ca3a9615d230b3d /websockify/websocket.py
parentcb1508fa495bea4b333173705772c1997559ae4b (diff)
downloadwebsockify-30942f12d3909fd9bb4302a9d0b0567c7bcd216a.tar.gz
Close connection after Websocket handshake
Otherwise we might misinterpret trailing binary data as a second HTTP request. This happens when we return from the handler with data still queued up in the socket.
Diffstat (limited to 'websockify/websocket.py')
-rw-r--r--websockify/websocket.py4
1 files changed, 4 insertions, 0 deletions
diff --git a/websockify/websocket.py b/websockify/websocket.py
index b146eeb..ebb3a53 100644
--- a/websockify/websocket.py
+++ b/websockify/websocket.py
@@ -467,6 +467,10 @@ class WebSocketRequestHandler(SimpleHTTPRequestHandler):
else:
self.send_header("Sec-WebSocket-Protocol", "binary")
self.end_headers()
+
+ # Other requests cannot follow Websocket data
+ self.close_connection = True
+
return True
else:
self.send_error(400, "Missing Sec-WebSocket-Version header. Hixie protocols not supported.")