mirror of
https://github.com/Grasscutters/mitmproxy.git
synced 2024-11-26 18:18:25 +00:00
Catch occasional protocol errors in regular connect
Fixes #1843 and #1847
This commit is contained in:
parent
6b5673e849
commit
61e552553c
@ -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):
|
||||
|
Loading…
Reference in New Issue
Block a user