mirror of
https://github.com/Grasscutters/mitmproxy.git
synced 2024-11-26 18:18:25 +00:00
Merge pull request #2473 from mengbiping/postpone-connection
Respect response to CONNECT created in http_connect function in upstream mode
This commit is contained in:
commit
874d0aa253
@ -217,16 +217,19 @@ class HttpLayer(base.Layer):
|
||||
return False
|
||||
|
||||
def handle_upstream_connect(self, f):
|
||||
self.establish_server_connection(
|
||||
f.request.host,
|
||||
f.request.port,
|
||||
f.request.scheme
|
||||
)
|
||||
self.send_request(f.request)
|
||||
f.response = self.read_response_headers()
|
||||
f.response.data.content = b"".join(
|
||||
self.read_response_body(f.request, f.response)
|
||||
)
|
||||
# if the user specifies a response in the http_connect hook, we do not connect upstream here.
|
||||
# https://github.com/mitmproxy/mitmproxy/pull/2473
|
||||
if not f.response:
|
||||
self.establish_server_connection(
|
||||
f.request.host,
|
||||
f.request.port,
|
||||
f.request.scheme
|
||||
)
|
||||
self.send_request(f.request)
|
||||
f.response = self.read_response_headers()
|
||||
f.response.data.content = b"".join(
|
||||
self.read_response_body(f.request, f.response)
|
||||
)
|
||||
self.send_response(f.response)
|
||||
if is_ok(f.response.status_code):
|
||||
layer = UpstreamConnectLayer(self, f.request)
|
||||
|
Loading…
Reference in New Issue
Block a user