aboutsummaryrefslogtreecommitdiffstats
path: root/libmproxy/protocol/http.py
diff options
context:
space:
mode:
authorMaximilian Hils <git@maximilianhils.com>2015-02-27 15:24:27 +0100
committerMaximilian Hils <git@maximilianhils.com>2015-02-27 15:24:27 +0100
commite1b6cf940146ca91c6f583a3333b4b50b72875bb (patch)
tree80cedc8e9e15881bc1662ae04e9bb3a488a1646e /libmproxy/protocol/http.py
parent8d975e80ffbbf2af5f1d097a21dbb33e17acc6a1 (diff)
downloadmitmproxy-e1b6cf940146ca91c6f583a3333b4b50b72875bb.tar.gz
mitmproxy-e1b6cf940146ca91c6f583a3333b4b50b72875bb.tar.bz2
mitmproxy-e1b6cf940146ca91c6f583a3333b4b50b72875bb.zip
fix #319
Diffstat (limited to 'libmproxy/protocol/http.py')
-rw-r--r--libmproxy/protocol/http.py22
1 files changed, 13 insertions, 9 deletions
diff --git a/libmproxy/protocol/http.py b/libmproxy/protocol/http.py
index 51fd503f..49310ec3 100644
--- a/libmproxy/protocol/http.py
+++ b/libmproxy/protocol/http.py
@@ -1332,15 +1332,19 @@ class HTTPHandler(ProtocolHandler):
# incrementally:
h = flow.response._assemble_head(preserve_transfer_encoding=True)
self.c.client_conn.send(h)
- for chunk in callable(flow.response.stream) and \
- flow.response.stream(http.read_http_body_chunked(self.c.server_conn.rfile,
- flow.response.headers,
- self.c.config.body_size_limit, flow.request.method,
- flow.response.code, False, 4096)) or \
- http.read_http_body_chunked(self.c.server_conn.rfile,
- flow.response.headers,
- self.c.config.body_size_limit, flow.request.method,
- flow.response.code, False, 4096):
+
+ chunks = http.read_http_body_chunked(
+ self.c.server_conn.rfile,
+ flow.response.headers,
+ self.c.config.body_size_limit,
+ flow.request.method,
+ flow.response.code,
+ False,
+ 4096
+ )
+ if callable(flow.response.stream):
+ chunks = flow.response.stream(chunks)
+ for chunk in chunks:
for part in chunk:
self.c.client_conn.wfile.write(part)
self.c.client_conn.wfile.flush()