diff options
author | Aldo Cortesi <aldo@nullcube.com> | 2011-08-03 17:35:18 +1200 |
---|---|---|
committer | Aldo Cortesi <aldo@nullcube.com> | 2011-08-03 17:35:18 +1200 |
commit | e337682d8e4b36c701ed2c6afede78907a0fe8f2 (patch) | |
tree | 98900136c0160de45c8e43b8049e0acb397ee464 /libmproxy/console.py | |
parent | cfc6e8777e426c02383a5680c5255c28edae700a (diff) | |
download | mitmproxy-e337682d8e4b36c701ed2c6afede78907a0fe8f2.tar.gz mitmproxy-e337682d8e4b36c701ed2c6afede78907a0fe8f2.tar.bz2 mitmproxy-e337682d8e4b36c701ed2c6afede78907a0fe8f2.zip |
Enable "|" command to run a oneshot script on a single flow.
Diffstat (limited to 'libmproxy/console.py')
-rw-r--r-- | libmproxy/console.py | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/libmproxy/console.py b/libmproxy/console.py index e973ff7f..90075ee1 100644 --- a/libmproxy/console.py +++ b/libmproxy/console.py @@ -194,7 +194,7 @@ class ConnectionItem(WWrap): elif key == "|": self.master.path_prompt( "Send flow to script: ", self.state.last_script, - self.master.run_script, self.flow + self.master.run_script_once, self.flow ) return key @@ -551,7 +551,7 @@ class ConnectionView(WWrap): elif key == "|": self.master.path_prompt( "Send flow to script: ", self.state.last_script, - self.master.run_script, self.flow + self.master.run_script_once, self.flow ) elif key == "z": if self.state.view_flow_mode == VIEW_FLOW_RESPONSE: @@ -989,6 +989,21 @@ class ConsoleMaster(flow.FlowMaster): self.debug = options.debug + def run_script_once(self, path, f): + ret = self.get_script(path) + if ret[0]: + self.statusbar.message(ret[0]) + s = ret[1] + + if f.request: + s.run("request", f) + if f.response: + s.run("response", f) + if f.error: + s.run("error", f) + self.refresh_connection(f) + self.state.last_script = path + def set_script(self, path): if not path: return |