aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSamoilenko Roman <ttahabatt@gmail.com>2018-01-18 20:27:26 +0200
committerMaximilian Hils <git@maximilianhils.com>2018-01-18 19:27:26 +0100
commit66c50ae7a5803e841b27b0de51a0063167c0114d (patch)
treef62ce349fa6a3b362636fe80b355fb872653c791
parent06da6739426271dfc2057f678392b668e8856754 (diff)
downloadmitmproxy-66c50ae7a5803e841b27b0de51a0063167c0114d.tar.gz
mitmproxy-66c50ae7a5803e841b27b0de51a0063167c0114d.tar.bz2
mitmproxy-66c50ae7a5803e841b27b0de51a0063167c0114d.zip
fix #2752 (#2796)
-rw-r--r--mitmproxy/tools/console/consoleaddons.py9
1 files changed, 7 insertions, 2 deletions
diff --git a/mitmproxy/tools/console/consoleaddons.py b/mitmproxy/tools/console/consoleaddons.py
index 298770c1..b10d27e4 100644
--- a/mitmproxy/tools/console/consoleaddons.py
+++ b/mitmproxy/tools/console/consoleaddons.py
@@ -5,6 +5,7 @@ from mitmproxy import ctx
from mitmproxy import command
from mitmproxy import exceptions
from mitmproxy import flow
+from mitmproxy import http
from mitmproxy import contentviews
from mitmproxy.utils import strutils
import mitmproxy.types
@@ -378,6 +379,12 @@ class ConsoleAddon:
# but for now it is.
if not flow:
raise exceptions.CommandError("No flow selected.")
+ require_dummy_response = (
+ part in ("response-headers", "response-body", "set-cookies") and
+ flow.response is None
+ )
+ if require_dummy_response:
+ flow.response = http.HTTPResponse.make()
if part == "cookies":
self.master.switch_view("edit_focus_cookies")
elif part == "form":
@@ -395,8 +402,6 @@ class ConsoleAddon:
message = flow.request
else:
message = flow.response
- if not message:
- raise exceptions.CommandError("Flow has no {}.".format(part.split("-")[0]))
c = self.master.spawn_editor(message.get_content(strict=False) or b"")
# Fix an issue caused by some editors when editing a
# request/response body. Many editors make it hard to save a