aboutsummaryrefslogtreecommitdiffstats
path: root/examples/modify_response_body.py
blob: 3d485a7a45b89c5884741e8000ec5739213b1b89 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Usage: mitmdump -s "modify_response_body.py mitmproxy bananas"
# (works best with --anticache)

import sys
from libmproxy.protocol.http import decoded


def start(ctx, argv):
    if len(argv) != 3:
        ctx.log('Usage: -s "modify-response-body.py old new"')
        sys.exit(1)
    global old, new  # In larger scripts, a centralized options object (as returned by argparse) is encouraged
    old, new = argv[1:]


def response(ctx, flow):
    with decoded(flow.response):  # automatically decode gzipped responses.
        flow.response.content = flow.response.content.replace(old, new)