diff options
author | Marcelo Glezer <mg@tekii.com.ar> | 2015-01-16 13:08:25 -0300 |
---|---|---|
committer | Marcelo Glezer <mg@tekii.com.ar> | 2015-02-05 11:31:25 -0300 |
commit | ae83d39eba4a5518537d799fc4bd61d083f32944 (patch) | |
tree | 02c0493c36b6abf95e1f4d28d800265b06756831 /libmproxy/console | |
parent | 9fc68d320c80ad07398a234630f6b59546a444e0 (diff) | |
download | mitmproxy-ae83d39eba4a5518537d799fc4bd61d083f32944.tar.gz mitmproxy-ae83d39eba4a5518537d799fc4bd61d083f32944.tar.bz2 mitmproxy-ae83d39eba4a5518537d799fc4bd61d083f32944.zip |
added support for 'b' key in flowlist
Diffstat (limited to 'libmproxy/console')
-rw-r--r-- | libmproxy/console/common.py | 28 | ||||
-rw-r--r-- | libmproxy/console/flowlist.py | 13 |
2 files changed, 41 insertions, 0 deletions
diff --git a/libmproxy/console/common.py b/libmproxy/console/common.py index 33738c0a..2f6c909c 100644 --- a/libmproxy/console/common.py +++ b/libmproxy/console/common.py @@ -189,8 +189,36 @@ def ask_save_body(k, master, state, content): content, ) +def which_body_save(k, master, state, flow): + if k == "q": + master.path_prompt( + "Save request content: ", + state.last_saveload, + save_body, + master, + state, + flow.request.get_decoded_content(), + ) + elif k == "r": + if flow.response: + master.path_prompt( + "Save response content: ", + state.last_saveload, + save_body, + master, + state, + flow.response.get_decoded_content(), + ) + else: + master.statusbar.message("Flow has no response") + ## common copy_message parts def copy_message( k, master, state, message): + if not message: + # only response could be None + master.statusbar.message("Flow has no response") + return + if pyperclip: if k == "c": try: diff --git a/libmproxy/console/flowlist.py b/libmproxy/console/flowlist.py index 6939be23..4acb17dc 100644 --- a/libmproxy/console/flowlist.py +++ b/libmproxy/console/flowlist.py @@ -7,6 +7,7 @@ def _mkhelp(): keys = [ ("A", "accept all intercepted flows"), ("a", "accept this intercepted flow"), + ("b", "save request/response body"), ("C", "clear flow list or eventlog"), ("d", "delete flow"), ("D", "duplicate flow"), @@ -230,6 +231,18 @@ class ConnectionItem(common.WWrap): self.state, self.flow.request, ) + elif key == "b": + self.master.prompt_onekey( + "Save", + ( + ("request", "q"), + ("response", "r"), + ), + common.which_body_save, + self.master, + self.state, + self.flow, + ) else: return key |