From 7560c0946d4b9d17d907555350ec1d4cd69b8021 Mon Sep 17 00:00:00 2001 From: Noah Levitt Date: Tue, 9 Apr 2019 21:16:45 +0000 Subject: [PATCH] avoid exception sending error to client this is a slightly different approach to https://github.com/internetarchive/warcprox/pull/121 --- warcprox/mitmproxy.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/warcprox/mitmproxy.py b/warcprox/mitmproxy.py index 5b24f30..a9e7e38 100644 --- a/warcprox/mitmproxy.py +++ b/warcprox/mitmproxy.py @@ -415,9 +415,13 @@ class MitmProxyHandler(http_server.BaseHTTPRequestHandler): try: return http_server.BaseHTTPRequestHandler.send_error( self, code, message, explain) - except: - self.logger.error( - 'send_error(%r, %r, %r) raised exception', exc_info=True) + except Exception as e: + level = logging.ERROR + if isinstance(e, OSError) and e.errno == 9: + level = logging.TRACE + self.logger.log( + level, 'send_error(%r, %r, %r) raised exception', + exc_info=True) return None def _proxy_request(self, extra_response_headers={}):