aboutsummaryrefslogtreecommitdiffstats
path: root/libmproxy/protocol
diff options
context:
space:
mode:
authoriroiro123 <user1@cygwin>2015-06-20 21:43:50 +0900
committeriroiro123 <user1@cygwin>2015-06-20 21:43:50 +0900
commit378aa783243cf23d84a39d02dde5420beadc188b (patch)
treeb8608bbaa545ff5df76fedd2f48aad12fc97d26e /libmproxy/protocol
parent59ec291b6cff1dfa83b316401418b6308df93aac (diff)
downloadmitmproxy-378aa783243cf23d84a39d02dde5420beadc188b.tar.gz
mitmproxy-378aa783243cf23d84a39d02dde5420beadc188b.tar.bz2
mitmproxy-378aa783243cf23d84a39d02dde5420beadc188b.zip
Spoof mode
Diffstat (limited to 'libmproxy/protocol')
-rw-r--r--libmproxy/protocol/http.py9
1 files changed, 6 insertions, 3 deletions
diff --git a/libmproxy/protocol/http.py b/libmproxy/protocol/http.py
index c7479b76..61782698 100644
--- a/libmproxy/protocol/http.py
+++ b/libmproxy/protocol/http.py
@@ -1330,19 +1330,22 @@ class HTTPHandler(ProtocolHandler):
flow.server_conn = self.c.server_conn
elif request.form_in == "relative":
- if self.c.config.mode == "httptransparent":
- h = request.headers.get_first("host")
+ if self.c.config.mode == "spoof":
+ # Host header
+ h = request.pretty_host(hostheader=True)
if h is None:
raise http.HttpError(
400,
"Invalid request: No Host header"
)
p = http.parse_url("http://" + h)
- request.host, request.port = p[1], p[2]
+ request.host = p[1]
+ request.port = p[2]
self.c.set_server_address((request.host, request.port))
flow.server_conn = self.c.server_conn
return None
+
raise http.HttpError(
400, "Invalid HTTP request form (expected: %s, got: %s)" % (
self.expected_form_in, request.form_in