aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMaximilian Hils <git@maximilianhils.com>2016-12-16 00:16:34 +0100
committerGitHub <noreply@github.com>2016-12-16 00:16:34 +0100
commite769b1fa9a80c41bab0fa2a200f8c51fc10a3d32 (patch)
tree1c33eebaeb55964b2aeb6a49e8b4fca0e2108310
parent6b5673e84911f3e2b1599c22c9b4f482a55b9ef1 (diff)
parent61e552553cd2ae03b115756551e73a32ede48663 (diff)
downloadmitmproxy-e769b1fa9a80c41bab0fa2a200f8c51fc10a3d32.tar.gz
mitmproxy-e769b1fa9a80c41bab0fa2a200f8c51fc10a3d32.tar.bz2
mitmproxy-e769b1fa9a80c41bab0fa2a200f8c51fc10a3d32.zip
Merge pull request #1860 from cortesi/smokey
Catch occasional protocol errors in regular connect
-rw-r--r--mitmproxy/proxy/protocol/http.py22
1 files changed, 11 insertions, 11 deletions
diff --git a/mitmproxy/proxy/protocol/http.py b/mitmproxy/proxy/protocol/http.py
index f3e0f514..50d64e17 100644
--- a/mitmproxy/proxy/protocol/http.py
+++ b/mitmproxy/proxy/protocol/http.py
@@ -182,6 +182,17 @@ class HttpLayer(base.Layer):
try:
self.set_server((f.request.host, f.request.port))
+
+ if f.response:
+ resp = f.response
+ else:
+ resp = http.make_connect_response(f.request.data.http_version)
+
+ self.send_response(resp)
+
+ if is_ok(resp.status_code):
+ layer = self.ctx.next_layer(self)
+ layer()
except (
exceptions.ProtocolException, exceptions.NetlibException
) as e:
@@ -192,17 +203,6 @@ class HttpLayer(base.Layer):
self.channel.ask("error", f)
return False
- if f.response:
- resp = f.response
- else:
- resp = http.make_connect_response(f.request.data.http_version)
-
- self.send_response(resp)
-
- if is_ok(resp.status_code):
- layer = self.ctx.next_layer(self)
- layer()
-
return False
def handle_upstream_connect(self, f):