diff options
author | Choongwoo Han <cwhan.tunz@gmail.com> | 2015-04-23 15:40:57 +0900 |
---|---|---|
committer | Choongwoo Han <cwhan.tunz@gmail.com> | 2015-04-23 15:40:57 +0900 |
commit | ad33d0925fa3ccd20fcd043a4a2c8ba28e8e0436 (patch) | |
tree | 65cad489528acb8f0b387c26f4d8ee0ff6258945 /libmproxy | |
parent | 10750c9f3025a7e964bfea2866fb84d8a4945e3d (diff) | |
download | mitmproxy-ad33d0925fa3ccd20fcd043a4a2c8ba28e8e0436.tar.gz mitmproxy-ad33d0925fa3ccd20fcd043a4a2c8ba28e8e0436.tar.bz2 mitmproxy-ad33d0925fa3ccd20fcd043a4a2c8ba28e8e0436.zip |
Fix crash when save to clipboard before loading
Diffstat (limited to 'libmproxy')
-rw-r--r-- | libmproxy/console/common.py | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/libmproxy/console/common.py b/libmproxy/console/common.py index 74d510eb..6d5579d4 100644 --- a/libmproxy/console/common.py +++ b/libmproxy/console/common.py @@ -218,6 +218,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() @@ -229,6 +232,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() @@ -236,17 +242,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": |