mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Parse Connection header properly when checking for upgrade to WebSocket
This commit is contained in:
parent
d7180443da
commit
104e97367c
@ -269,10 +269,10 @@ class WebSocketConnection(HTTPConnection):
|
|||||||
self.stop_reading = False
|
self.stop_reading = False
|
||||||
|
|
||||||
def finalize_headers(self, inheaders):
|
def finalize_headers(self, inheaders):
|
||||||
upgrade = inheaders.get('Upgrade', None)
|
upgrade = inheaders.get('Upgrade', '')
|
||||||
key = inheaders.get('Sec-WebSocket-Key', None)
|
key = inheaders.get('Sec-WebSocket-Key', None)
|
||||||
conn = inheaders.get('Connection', None)
|
conn = {x.strip().lower() for x in inheaders.get('Connection', '').split(',')}
|
||||||
if key is None or upgrade.lower() != 'websocket' or conn != 'Upgrade':
|
if key is None or upgrade.lower() != 'websocket' or 'upgrade' not in conn:
|
||||||
return HTTPConnection.finalize_headers(self, inheaders)
|
return HTTPConnection.finalize_headers(self, inheaders)
|
||||||
ver = inheaders.get('Sec-WebSocket-Version', 'Unknown')
|
ver = inheaders.get('Sec-WebSocket-Version', 'Unknown')
|
||||||
try:
|
try:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user