diff options
Diffstat (limited to 'examples/redirect_requests.py')
-rw-r--r-- | examples/redirect_requests.py | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/examples/redirect_requests.py b/examples/redirect_requests.py index a9a7e795..c5561839 100644 --- a/examples/redirect_requests.py +++ b/examples/redirect_requests.py @@ -6,13 +6,15 @@ This example shows two ways to redirect flows to other destinations. """ -def request(context, flow): - if flow.request.get_host(hostheader=True).endswith("example.com"): +def request(ctx, flow): + # pretty_host(hostheader=True) takes the Host: header of the request into account, + # which is useful in transparent mode where we usually only have the IP otherwise. + if flow.request.pretty_host(hostheader=True).endswith("example.com"): resp = HTTPResponse( [1, 1], 200, "OK", ODictCaseless([["Content-Type", "text/html"]]), "helloworld") - flow.request.reply(resp) - if flow.request.get_host(hostheader=True).endswith("example.org"): + flow.reply(resp) + if flow.request.pretty_host(hostheader=True).endswith("example.org"): flow.request.host = "mitmproxy.org" - flow.request.headers["Host"] = ["mitmproxy.org"] + flow.request.update_host_header() |