From c87ff90bc10b833bd1e89ca4ad957647a1ecdf03 Mon Sep 17 00:00:00 2001 From: Noah Levitt Date: Fri, 5 May 2017 13:44:46 -0700 Subject: [PATCH] move more stuff in do_COMMAND inside the try block so that exceptions result in a 500 response --- setup.py | 2 +- warcprox/mitmproxy.py | 19 +++++++++++-------- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/setup.py b/setup.py index c957ebb..b206369 100755 --- a/setup.py +++ b/setup.py @@ -51,7 +51,7 @@ except: setuptools.setup( name='warcprox', - version='2.1b1.dev76', + version='2.1b1.dev77', description='WARC writing MITM HTTP/S proxy', url='https://github.com/internetarchive/warcprox', author='Noah Levitt', diff --git a/warcprox/mitmproxy.py b/warcprox/mitmproxy.py index ee9f439..09c2b2d 100644 --- a/warcprox/mitmproxy.py +++ b/warcprox/mitmproxy.py @@ -292,7 +292,8 @@ class MitmProxyHandler(http_server.BaseHTTPRequestHandler): self._transition_to_ssl() except Exception as e: try: - self.logger.error("problem handling {}: {}".format(repr(self.requestline), e)) + self.logger.error( + "problem handling %s: %s", repr(self.requestline), e) if type(e) is socket.timeout: self.send_error(504, str(e)) else: @@ -328,13 +329,13 @@ class MitmProxyHandler(http_server.BaseHTTPRequestHandler): self.logger.trace( 'request from %s:%s: %s', self.client_address[0], self.client_address[1], self.requestline) - if self.is_connect: - self.url = self._construct_tunneled_url() - else: - self._determine_host_port() - assert self.url - try: + if self.is_connect: + self.url = self._construct_tunneled_url() + else: + self._determine_host_port() + assert self.url + # Connect to destination self._connect_to_remote_server() except warcprox.RequestBlockedByRule as e: @@ -342,7 +343,9 @@ class MitmProxyHandler(http_server.BaseHTTPRequestHandler): self.logger.info("%s: %s", repr(self.requestline), e) return except Exception as e: - self.logger.error("problem processing request {}: {}".format(repr(self.requestline), e), exc_info=True) + self.logger.error( + "problem processing request %s: %s", + repr(self.requestline), e, exc_info=True) self.send_error(500, str(e)) return