diff options
author | Maximilian Hils <git@maximilianhils.com> | 2015-02-27 15:24:27 +0100 |
---|---|---|
committer | Maximilian Hils <git@maximilianhils.com> | 2015-02-27 15:24:27 +0100 |
commit | e1b6cf940146ca91c6f583a3333b4b50b72875bb (patch) | |
tree | 80cedc8e9e15881bc1662ae04e9bb3a488a1646e /libmproxy/protocol | |
parent | 8d975e80ffbbf2af5f1d097a21dbb33e17acc6a1 (diff) | |
download | mitmproxy-e1b6cf940146ca91c6f583a3333b4b50b72875bb.tar.gz mitmproxy-e1b6cf940146ca91c6f583a3333b4b50b72875bb.tar.bz2 mitmproxy-e1b6cf940146ca91c6f583a3333b4b50b72875bb.zip |
fix #319
Diffstat (limited to 'libmproxy/protocol')
-rw-r--r-- | libmproxy/protocol/http.py | 22 |
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() |