summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorErik <erik.elbieh@protonmail.com>2021-01-08 20:38:53 -0500
committerErik <erik.elbieh@protonmail.com>2021-01-08 20:38:53 -0500
commit75c0b4af17fca55ff9559fed6669b59499025ea3 (patch)
tree5161b951c3ee76c9a8aa451dd4afa648584e04fc
parent84ad5890bfd9d8196a4b4fd2e8324e1d818f668f (diff)
parentd1465a2245b2ea100f7efc923785bfb3b5671d38 (diff)
downloadwebsocket-client-75c0b4af17fca55ff9559fed6669b59499025ea3.tar.gz
Merge branch 'master' of github.com:engn33r/websocket-client
-rw-r--r--websocket/_app.py2
-rw-r--r--websocket/_handshake.py5
-rw-r--r--websocket/tests/test_websocket.py2
3 files changed, 6 insertions, 3 deletions
diff --git a/websocket/_app.py b/websocket/_app.py
index e4e9f99..bbf64f5 100644
--- a/websocket/_app.py
+++ b/websocket/_app.py
@@ -341,7 +341,7 @@ class WebSocketApp(object):
if callback:
try:
if inspect.ismethod(callback):
- callback(*args)
+ callback(self, *args)
else:
callback(self, *args)
diff --git a/websocket/_handshake.py b/websocket/_handshake.py
index 7476a07..88605fc 100644
--- a/websocket/_handshake.py
+++ b/websocket/_handshake.py
@@ -183,10 +183,11 @@ def _validate(headers, key, subprotocols):
return False, None
if subprotocols:
- subproto = headers.get("sec-websocket-protocol", None).lower()
- if not subproto or subproto not in [s.lower() for s in subprotocols]:
+ subproto = headers.get("sec-websocket-protocol", None)
+ if not subproto or subproto.lower() not in [s.lower() for s in subprotocols]:
error("Invalid subprotocol: " + str(subprotocols))
return False, None
+ subproto = subproto.lower()
result = headers.get("sec-websocket-accept", None)
if not result:
diff --git a/websocket/tests/test_websocket.py b/websocket/tests/test_websocket.py
index 8b131bb..fa86c05 100644
--- a/websocket/tests/test_websocket.py
+++ b/websocket/tests/test_websocket.py
@@ -222,6 +222,8 @@ class WebSocketTest(unittest.TestCase):
header["sec-websocket-protocol"] = "sUb1"
self.assertEqual(_validate_header(header, key, ["Sub1", "suB2"]), (True, "sub1"))
+ header = required_header.copy()
+ self.assertEqual(_validate_header(header, key, ["Sub1", "suB2"]), (False, None))
def testReadHeader(self):
status, header, status_message = read_headers(HeaderSockMock("data/header01.txt"))