diff options
Diffstat (limited to 'examples')
-rw-r--r-- | examples/stream_modify.py | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/examples/stream_modify.py b/examples/stream_modify.py new file mode 100644 index 00000000..a28d95c7 --- /dev/null +++ b/examples/stream_modify.py @@ -0,0 +1,19 @@ +""" +This inline script won't work with --stream SIZE command line option. + +That's because flow.response.stream will be overwritten to True if the +command line option exists. +""" + +def modify(chunks): + """ + chunks is a generator that can be used to iterate over all chunks. + Each chunk is a (prefix, content, suffix) tuple. + For example, in the case of chunked transfer encoding: ("3\r\n","foo","\r\n") + """ + for prefix, content, suffix in chunks: + yield prefix, content.replace("foo","bar"), suffix + +def responseheaders(ctx, flow): + flow.response.stream = modify + flow.response.stream_large_bodies = 1024 # = 1KB |