diff options
-rw-r--r-- | mitmproxy/addons/core.py | 2 | ||||
-rw-r--r-- | mitmproxy/tools/console/consoleaddons.py | 3 |
2 files changed, 4 insertions, 1 deletions
diff --git a/mitmproxy/addons/core.py b/mitmproxy/addons/core.py index fb46f243..ca21e1dc 100644 --- a/mitmproxy/addons/core.py +++ b/mitmproxy/addons/core.py @@ -164,6 +164,7 @@ class Core: for f in flows: p = getattr(f, part, None) if p: + f.backup() p.decode() updated.append(f) ctx.master.addons.trigger("update", updated) @@ -205,6 +206,7 @@ class Core: if p: current_enc = p.headers.get("content-encoding", "identity") if current_enc == "identity": + f.backup() p.encode(enc) updated.append(f) ctx.master.addons.trigger("update", updated) diff --git a/mitmproxy/tools/console/consoleaddons.py b/mitmproxy/tools/console/consoleaddons.py index deaf016d..7337473c 100644 --- a/mitmproxy/tools/console/consoleaddons.py +++ b/mitmproxy/tools/console/consoleaddons.py @@ -379,11 +379,12 @@ class ConsoleAddon: # but for now it is. if not flow: raise exceptions.CommandError("No flow selected.") + flow.backup() + require_dummy_response = ( part in ("response-headers", "response-body", "set-cookies") and flow.response is None ) - flow.backup() if require_dummy_response: flow.response = http.HTTPResponse.make() if part == "cookies": |