aboutsummaryrefslogtreecommitdiffstats
path: root/examples/redirect_requests.py
diff options
context:
space:
mode:
Diffstat (limited to 'examples/redirect_requests.py')
-rw-r--r--examples/redirect_requests.py12
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()