Have python3 properly handle connection refused exceptions.

carry remote IP address in socket connect exception object
This commit is contained in:
Mark Travis
2014-08-21 01:04:46 -07:00
parent daa6cb0192
commit 6c34650e0e

View File

@@ -421,6 +421,7 @@ class WebSocket(object):
if not addrinfo_list: if not addrinfo_list:
raise WebSocketException("Host not found.: " + hostname + ":" + str(port)) raise WebSocketException("Host not found.: " + hostname + ":" + str(port))
err = None
for addrinfo in addrinfo_list: for addrinfo in addrinfo_list:
family = addrinfo[0] family = addrinfo[0]
self.sock = socket.socket(family) self.sock = socket.socket(family)
@@ -434,14 +435,16 @@ class WebSocket(object):
try: try:
self.sock.connect(address) self.sock.connect(address)
except socket.error as error: except socket.error as error:
error.remote_ip = str(address[0])
if error.errno in (errno.ECONNREFUSED, ): if error.errno in (errno.ECONNREFUSED, ):
err = error
continue continue
else: else:
raise raise
else: else:
break break
else: else:
raise error raise err
if proxy_host: if proxy_host:
self._tunnel(hostname, port) self._tunnel(hostname, port)