diff --git a/test_websocket.py b/test_websocket.py index d849a2b..b3a6f54 100644 --- a/test_websocket.py +++ b/test_websocket.py @@ -3,7 +3,12 @@ import base64 import socket -import ssl +try: + from ssl import SSLError +except ImportError: + # dummy class of SSLError for ssl none-support environment. + class SSLError(Exception): + pass import unittest import uuid @@ -191,7 +196,7 @@ class WebSocketTest(unittest.TestCase): s.add_packet("foo") s.add_packet(socket.timeout()) s.add_packet("bar") - s.add_packet(ssl.SSLError("The read operation timed out")) + s.add_packet(SSLError("The read operation timed out")) s.add_packet("baz") with self.assertRaises(ws.WebSocketTimeoutException): data = sock._recv_strict(9) diff --git a/websocket.py b/websocket.py index abcae43..c2d5c9e 100644 --- a/websocket.py +++ b/websocket.py @@ -24,8 +24,13 @@ import socket try: import ssl + from ssl import SSLError HAVE_SSL = True except ImportError: + # dummy class of SSLError for ssl none-support environment. + class SSLError(Exception): + pass + HAVE_SSL = False from urlparse import urlparse @@ -705,7 +710,7 @@ class WebSocket(object): bytes = self.sock.recv(bufsize) except socket.timeout as e: raise WebSocketTimeoutException(e.message) - except ssl.SSLError as e: + except SSLError as e: if e.message == "The read operation timed out": raise WebSocketTimeoutException(e.message) else: