aboutsummaryrefslogtreecommitdiffstats
path: root/libmproxy/console/common.py
diff options
context:
space:
mode:
authorMaximilian Hils <git@maximilianhils.com>2015-04-26 18:44:40 +0200
committerMaximilian Hils <git@maximilianhils.com>2015-04-26 18:44:40 +0200
commit417190daa734525b8a5d3e8a28b23d83382360dd (patch)
treeefb458e16f81fa12ae7a30cfbb9d13cc1be9f049 /libmproxy/console/common.py
parentb5690b81034ee0173cf2706429862fdd3ac688b8 (diff)
parentad33d0925fa3ccd20fcd043a4a2c8ba28e8e0436 (diff)
downloadmitmproxy-417190daa734525b8a5d3e8a28b23d83382360dd.tar.gz
mitmproxy-417190daa734525b8a5d3e8a28b23d83382360dd.tar.bz2
mitmproxy-417190daa734525b8a5d3e8a28b23d83382360dd.zip
Merge remote-tracking branch 'tunz/crash1'
Diffstat (limited to 'libmproxy/console/common.py')
-rw-r--r--libmproxy/console/common.py15
1 files changed, 11 insertions, 4 deletions
diff --git a/libmproxy/console/common.py b/libmproxy/console/common.py
index f417aade..f7dc0d37 100644
--- a/libmproxy/console/common.py
+++ b/libmproxy/console/common.py
@@ -236,6 +236,9 @@ def copy_flow_format_data(part, scope, flow):
else:
data = ""
if scope in ("q", "a"):
+ if flow.request.content == None:
+ signals.status_message.send(message="Please retry, after finishing loading.")
+ return "", True
with decoded(flow.request):
if part == "h":
data += flow.request.assemble()
@@ -247,6 +250,9 @@ def copy_flow_format_data(part, scope, flow):
# Add padding between request and response
data += "\r\n" * 2
if scope in ("s", "a") and flow.response:
+ if flow.response.content == None:
+ signals.status_message.send(message="Please retry, after finishing loading.")
+ return "", True
with decoded(flow.response):
if part == "h":
data += flow.response.assemble()
@@ -254,17 +260,18 @@ def copy_flow_format_data(part, scope, flow):
data += flow.response.content
else:
raise ValueError("Unknown part: {}".format(part))
- return data
-
+ return data, False
def copy_flow(part, scope, flow, master, state):
"""
part: _c_ontent, _a_ll, _u_rl
scope: _a_ll, re_q_uest, re_s_ponse
"""
- data = copy_flow_format_data(part, scope, flow)
+ data, err = copy_flow_format_data(part, scope, flow)
- if not data:
+ if err:
+ return
+ elif not data:
if scope == "q":
signals.status_message.send(message="No request content to copy.")
elif scope == "s":