aboutsummaryrefslogtreecommitdiffstats
path: root/netlib/websockets/protocol.py
diff options
context:
space:
mode:
authorMaximilian Hils <git@maximilianhils.com>2015-09-22 01:48:35 +0200
committerMaximilian Hils <git@maximilianhils.com>2015-09-22 01:48:35 +0200
commitf93752277395d201fabefed8fae6d412f13da699 (patch)
tree7f3b217b89b7d6b78725ea1a6d0185b13ab2876a /netlib/websockets/protocol.py
parent9fbeac50ce3f6ae49b0f0270c508b6e81a1eaf17 (diff)
downloadmitmproxy-f93752277395d201fabefed8fae6d412f13da699.tar.gz
mitmproxy-f93752277395d201fabefed8fae6d412f13da699.tar.bz2
mitmproxy-f93752277395d201fabefed8fae6d412f13da699.zip
Headers: return str on all Python versions
Diffstat (limited to 'netlib/websockets/protocol.py')
-rw-r--r--netlib/websockets/protocol.py14
1 files changed, 6 insertions, 8 deletions
diff --git a/netlib/websockets/protocol.py b/netlib/websockets/protocol.py
index 778fe7e7..e62f8df6 100644
--- a/netlib/websockets/protocol.py
+++ b/netlib/websockets/protocol.py
@@ -80,7 +80,7 @@ class WebsocketsProtocol(object):
Returns an instance of Headers
"""
if not key:
- key = base64.b64encode(os.urandom(16)).decode('utf-8')
+ key = base64.b64encode(os.urandom(16)).decode('ascii')
return Headers(**{
HEADER_WEBSOCKET_KEY: key,
HEADER_WEBSOCKET_VERSION: version,
@@ -95,27 +95,25 @@ class WebsocketsProtocol(object):
"""
return Headers(**{
HEADER_WEBSOCKET_ACCEPT: self.create_server_nonce(key),
- "Connection": "Upgrade",
- "Upgrade": "websocket",
+ "connection": "Upgrade",
+ "upgrade": "websocket",
})
@classmethod
def check_client_handshake(self, headers):
- if headers.get("upgrade") != b"websocket":
+ if headers.get("upgrade") != "websocket":
return
return headers.get(HEADER_WEBSOCKET_KEY)
@classmethod
def check_server_handshake(self, headers):
- if headers.get("upgrade") != b"websocket":
+ if headers.get("upgrade") != "websocket":
return
return headers.get(HEADER_WEBSOCKET_ACCEPT)
@classmethod
def create_server_nonce(self, client_nonce):
- return base64.b64encode(
- binascii.unhexlify(hashlib.sha1(client_nonce + websockets_magic).hexdigest())
- )
+ return base64.b64encode(hashlib.sha1(client_nonce + websockets_magic).digest())