Merge pull request #135 from vbanos/close-connection

Check if connection is still open when trying to close
This commit is contained in:
Noah Levitt 2019-06-10 12:16:11 -07:00 committed by GitHub
commit 740a80bfdb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -587,8 +587,12 @@ class MitmProxyHandler(http_server.BaseHTTPRequestHandler):
self.logger.info('bad_hostnames_ports cache size: %d', self.logger.info('bad_hostnames_ports cache size: %d',
len(self.server.bad_hostnames_ports)) len(self.server.bad_hostnames_ports))
self._remote_server_conn.sock.shutdown(socket.SHUT_RDWR) # Close the connection only if its still open. If its already
self._remote_server_conn.sock.close() # closed, an `OSError` "([Errno 107] Transport endpoint is not
# connected)" would be raised.
if not is_connection_dropped(self._remote_server_conn):
self._remote_server_conn.sock.shutdown(socket.SHUT_RDWR)
self._remote_server_conn.sock.close()
raise raise
finally: finally:
if prox_rec_res: if prox_rec_res: