diff options
author | Aldo Cortesi <aldo@nullcube.com> | 2011-03-12 14:30:12 +1300 |
---|---|---|
committer | Aldo Cortesi <aldo@nullcube.com> | 2011-03-12 14:30:12 +1300 |
commit | 2f457e041e61328aad6a129ae1494ad7feb432c6 (patch) | |
tree | 08402d12f668830f5b87033d170e1c89e77ce6bd /libmproxy/console.py | |
parent | 9927ebad3e026b8c080a50759234c88489fe84c7 (diff) | |
download | mitmproxy-2f457e041e61328aad6a129ae1494ad7feb432c6.tar.gz mitmproxy-2f457e041e61328aad6a129ae1494ad7feb432c6.tar.bz2 mitmproxy-2f457e041e61328aad6a129ae1494ad7feb432c6.zip |
Unify mitmproxy and mitmdump commandline
- Extract common options into cmdline.py
- Change mitmproxy keybindings to fit command line
Some cmdline options and keybindings aren't in operation yet - just stubs
where functionality will be added in the next few commits.
Diffstat (limited to 'libmproxy/console.py')
-rw-r--r-- | libmproxy/console.py | 50 |
1 files changed, 39 insertions, 11 deletions
diff --git a/libmproxy/console.py b/libmproxy/console.py index e9992a0f..f95d028e 100644 --- a/libmproxy/console.py +++ b/libmproxy/console.py @@ -164,7 +164,7 @@ class ConnectionItem(WWrap): elif key == "R": self.state.revert(self.flow) self.master.sync_list_view() - elif key == "s": + elif key == "w": self.master.prompt("Save this flow: ", self.master.save_one_flow, self.flow) elif key == "z": self.master.kill_connection(self.flow) @@ -515,7 +515,7 @@ class ConnectionView(WWrap): elif key == "R": self.state.revert(self.flow) self.master.refresh_connection(self.flow) - elif key == "s": + elif key == "w": self.master.prompt("Save this flow: ", self.master.save_one_flow, self.flow) elif key == "v": if self.state.view_flow_mode == VIEW_FLOW_REQUEST: @@ -526,7 +526,7 @@ class ConnectionView(WWrap): t = conn.headers.get("content-type", [None]) t = t[0] self.master.spawn_external_viewer(conn.content, t) - elif key == "w": + elif key == "b": if self.state.view_flow_mode == VIEW_FLOW_REQUEST: self.master.prompt("Save request body: ", self.save_body) else: @@ -758,6 +758,33 @@ class ConsoleState(flow.State): return ret + +class Options(object): + __slots__ = [ + "anticache", + "beep", + "client_replay", + "keepserving", + "kill", + "intercept", + "limit", + "refresh_server_playback", + "request_script", + "response_script", + "rheaders", + "server_replay", + "stickycookie", + "verbosity", + "wfile", + ] + def __init__(self, **kwargs): + for k, v in kwargs.items(): + setattr(self, k, v) + for i in self.__slots__: + if not hasattr(self, i): + setattr(self, i, None) + + #begin nocover VIEW_CONNLIST = 0 VIEW_FLOW = 1 @@ -798,7 +825,7 @@ class ConsoleMaster(flow.FlowMaster): print >> sys.stderr, "Beep error:", r sys.exit(1) - r = self.set_stickycookie(options.sticky) + r = self.set_stickycookie(options.stickycookie) if r: print >> sys.stderr, "Sticky cookies error:", r sys.exit(1) @@ -987,7 +1014,7 @@ class ConsoleMaster(flow.FlowMaster): ("A", "accept all intercepted connections"), ("a", "accept this intercepted connection"), ("B", "set beep filter pattern"), - ("c", "set sticky cookie expression"), + ("c", "client replay"), ("i", "set interception pattern"), ("j, k", "up, down"), ("l", "set limit filter pattern"), @@ -997,6 +1024,9 @@ class ConsoleMaster(flow.FlowMaster): ("r", "replay request"), ("R", "revert changes to request"), ("S", "save all flows matching current limit"), + ("s", "server replay"), + ("t", "set sticky cookie expression"), + ("w", "save this flow"), ("page up/down", "page up/down"), ("enter", "view connection"), ] @@ -1006,7 +1036,6 @@ class ConsoleMaster(flow.FlowMaster): keys = [ ("C", "clear connection list"), ("d", "delete connection from view"), - ("s", "save this t flow"), ("z", "kill and delete connection, even if it's mid-intercept"), ("space", "page down"), ] @@ -1014,12 +1043,11 @@ class ConsoleMaster(flow.FlowMaster): text.extend([("head", "\n\nConnection view keys:\n")]) keys = [ - ("e", "edit response/request"), + ("b", "save request/response body"), + ("e", "edit request/response"), ("m", "change view mode (raw, indent, hex)"), ("p", "previous flow"), - ("s", "save this flow"), - ("v", "view contents in external viewer"), - ("w", "save request or response body"), + ("v", "view body in external viewer"), ("|", "run script"), ("tab", "toggle response/request view"), ("space", "next flow"), @@ -1237,7 +1265,7 @@ class ConsoleMaster(flow.FlowMaster): self.load_flows ) k = None - elif k == "c": + elif k == "t": self.prompt("Sticky cookie: ", self.set_stickycookie) k = None if k: |