diff --git a/ChangeLog b/ChangeLog index ba574c4..226bbd3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -6,6 +6,7 @@ ChangeLog - Supporting http-basic auth in WebSocketApp (#143) - fix failer of test.testInternalRecvStrict(#141) - skip utf8 validation by skip_utf8_validation argument (#137) + - WebsocketProxyException will be raised if we got error about proxy.(#138) - 0.23.0 diff --git a/websocket/_core.py b/websocket/_core.py index f2accb8..639c391 100644 --- a/websocket/_core.py +++ b/websocket/_core.py @@ -544,9 +544,13 @@ class WebSocket(object): self._send(connect_header) - status, resp_headers = self._read_headers() + try: + status, resp_headers = self._read_headers() + except Exepiton as e: + raise WebSocketProxyException(str(e)) + if status != 200: - raise WebSocketException("failed CONNECT via proxy") + raise WebSocketProxyException("failed CONNECT via proxy status: " + str(status)) def _get_resp_headers(self, success_status = 101): status, resp_headers = self._read_headers() diff --git a/websocket/_exceptions.py b/websocket/_exceptions.py index b4ef992..9b1791d 100644 --- a/websocket/_exceptions.py +++ b/websocket/_exceptions.py @@ -56,3 +56,10 @@ class WebSocketTimeoutException(WebSocketException): """ pass +class WebSocketProxyException(WebSocketException): + """ + WebSocketProxyException will be raised when proxy error occured. + """ + pass + +