aboutsummaryrefslogtreecommitdiffstats
path: root/libmproxy/console/flowlist.py
diff options
context:
space:
mode:
Diffstat (limited to 'libmproxy/console/flowlist.py')
-rw-r--r--libmproxy/console/flowlist.py40
1 files changed, 40 insertions, 0 deletions
diff --git a/libmproxy/console/flowlist.py b/libmproxy/console/flowlist.py
index 102fa7b9..fbcf1052 100644
--- a/libmproxy/console/flowlist.py
+++ b/libmproxy/console/flowlist.py
@@ -7,11 +7,14 @@ 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"),
("e", "toggle eventlog"),
("F", "toggle follow flow list"),
+ ("g", "copy response(content/headers) to clipboard"),
+ ("G", "copy request(content/headers/url) to clipboard"),
("l", "set limit filter pattern"),
("L", "load saved flows"),
("r", "replay request"),
@@ -204,6 +207,43 @@ class ConnectionItem(common.WWrap):
self.master.run_script_once,
self.flow
)
+ elif key == "g":
+ self.master.prompt_onekey(
+ "Copy Response",
+ (
+ ("content", "c"),
+ ("headers", "h"),
+ ),
+ common.copy_message,
+ self.master,
+ self.state,
+ self.flow.response,
+ )
+ elif key == "G":
+ self.master.prompt_onekey(
+ "Copy Request",
+ (
+ ("content", "c"),
+ ("headers", "h"),
+ ("url", "u"),
+ ),
+ common.copy_message,
+ self.master,
+ 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