By using mitmproxy's streaming feature, response contents can be passed to the client incrementally before they have been fully received by the proxy. This is especially useful for large binary files such as videos, where buffering the whole file slows down the client's browser. By default, mitmproxy will read the entire response, perform any indicated manipulations on it and then send the (possibly modified) response to the client. In some cases this is undesirable and you may wish to "stream" the reponse back to the client. When streaming is enabled, the response is not buffered on the proxy but directly sent back to the client instead.
command-line | --stream SIZE |
---|
libmproxy.protocol.http.CONTENT_MISSING
). Any modifications will be ignored.
Streamed responses are usually sent in chunks of 4096 bytes. If the response is sent with a Transfer-Encoding:
chunked
header, the response will be streamed one chunk at a time.
.stream
attribute is callable, .stream will work as a hook in chunk data processing.
$!example("examples/stream_modify.py")!$
### See Also
- [Ignore Domains](@!urlTo("passthrough.html")!@)