Exceptions in py3 don't necessarily have a 'message' attribute.
This commit is contained in:
@@ -564,7 +564,7 @@ class WebSocket(object):
|
|||||||
|
|
||||||
while True:
|
while True:
|
||||||
line = self._recv_line()
|
line = self._recv_line()
|
||||||
if line == "\r\n":
|
if line == "\r\n" or line == "\n":
|
||||||
break
|
break
|
||||||
line = line.strip()
|
line = line.strip()
|
||||||
if traceEnabled:
|
if traceEnabled:
|
||||||
@@ -821,10 +821,12 @@ class WebSocket(object):
|
|||||||
try:
|
try:
|
||||||
return self.sock.send(data)
|
return self.sock.send(data)
|
||||||
except socket.timeout as e:
|
except socket.timeout as e:
|
||||||
raise WebSocketTimeoutException(e.message)
|
message = getattr(e, 'strerror', getattr(e, 'message', None))
|
||||||
|
raise WebSocketTimeoutException(message)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
if "timed out" in e.message:
|
message = getattr(e, 'strerror', getattr(e, 'message', None))
|
||||||
raise WebSocketTimeoutException(e.message)
|
if "timed out" in message:
|
||||||
|
raise WebSocketTimeoutException(message)
|
||||||
else:
|
else:
|
||||||
raise
|
raise
|
||||||
|
|
||||||
@@ -832,17 +834,18 @@ class WebSocket(object):
|
|||||||
try:
|
try:
|
||||||
bytes = self.sock.recv(bufsize)
|
bytes = self.sock.recv(bufsize)
|
||||||
except socket.timeout as e:
|
except socket.timeout as e:
|
||||||
raise WebSocketTimeoutException(e.message)
|
message = getattr(e, 'strerror', getattr(e, 'message', None))
|
||||||
|
raise WebSocketTimeoutException(message)
|
||||||
except SSLError as e:
|
except SSLError as e:
|
||||||
if e.message == "The read operation timed out":
|
message = getattr(e, 'strerror', getattr(e, 'message', None))
|
||||||
raise WebSocketTimeoutException(e.message)
|
if message == "The read operation timed out":
|
||||||
|
raise WebSocketTimeoutException(message)
|
||||||
else:
|
else:
|
||||||
raise
|
raise
|
||||||
if not bytes:
|
if not bytes:
|
||||||
raise WebSocketConnectionClosedException()
|
raise WebSocketConnectionClosedException()
|
||||||
return bytes
|
return bytes
|
||||||
|
|
||||||
|
|
||||||
def _recv_strict(self, bufsize):
|
def _recv_strict(self, bufsize):
|
||||||
shortage = bufsize - sum(len(x) for x in self._recv_buffer)
|
shortage = bufsize - sum(len(x) for x in self._recv_buffer)
|
||||||
while shortage > 0:
|
while shortage > 0:
|
||||||
|
Reference in New Issue
Block a user