From 0598ef1a7a9d72670bf592439f1899412e790989 Mon Sep 17 00:00:00 2001 From: Damjan Stulic Date: Wed, 7 Aug 2019 15:26:16 -0700 Subject: added support for allowing users to change connection header --- websocket/_handshake.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/websocket/_handshake.py b/websocket/_handshake.py index 809a8c9..20b950b 100644 --- a/websocket/_handshake.py +++ b/websocket/_handshake.py @@ -95,14 +95,13 @@ def _pack_hostname(hostname): def _get_handshake_headers(resource, host, port, options): headers = [ "GET %s HTTP/1.1" % resource, - "Upgrade: websocket", - "Connection: Upgrade" + "Upgrade: websocket" ] if port == 80 or port == 443: hostport = _pack_hostname(host) else: hostport = "%s:%d" % (_pack_hostname(host), port) - + if "host" in options and options["host"] is not None: headers.append("Host: %s" % options["host"]) else: @@ -126,6 +125,11 @@ def _get_handshake_headers(resource, host, port, options): if not 'header' in options or 'Sec-WebSocket-Version' not in options['header']: headers.append("Sec-WebSocket-Version: %s" % VERSION) + if not 'connection' in options: + headers.append('Connection: upgrade') + else: + headers.append(options['connection']) + subprotocols = options.get("subprotocols") if subprotocols: headers.append("Sec-WebSocket-Protocol: %s" % ",".join(subprotocols)) -- cgit v1.2.1 From 72a06826ad5814e000b8cf4f09d5b745471e0326 Mon Sep 17 00:00:00 2001 From: Damjan Stulic Date: Wed, 7 Aug 2019 15:35:50 -0700 Subject: removed extra white space --- websocket/_handshake.py | 1 - 1 file changed, 1 deletion(-) diff --git a/websocket/_handshake.py b/websocket/_handshake.py index 20b950b..92b3f9b 100644 --- a/websocket/_handshake.py +++ b/websocket/_handshake.py @@ -101,7 +101,6 @@ def _get_handshake_headers(resource, host, port, options): hostport = _pack_hostname(host) else: hostport = "%s:%d" % (_pack_hostname(host), port) - if "host" in options and options["host"] is not None: headers.append("Host: %s" % options["host"]) else: -- cgit v1.2.1 From 58c05a9283b128372d31715a2d9a1046f9806af7 Mon Sep 17 00:00:00 2001 From: Damjan Stulic Date: Wed, 7 Aug 2019 16:09:28 -0700 Subject: updated if statement to include check against None --- websocket/_handshake.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/websocket/_handshake.py b/websocket/_handshake.py index 92b3f9b..3ff5147 100644 --- a/websocket/_handshake.py +++ b/websocket/_handshake.py @@ -124,7 +124,7 @@ def _get_handshake_headers(resource, host, port, options): if not 'header' in options or 'Sec-WebSocket-Version' not in options['header']: headers.append("Sec-WebSocket-Version: %s" % VERSION) - if not 'connection' in options: + if not 'connection' in options or options['connection'] is None: headers.append('Connection: upgrade') else: headers.append(options['connection']) -- cgit v1.2.1