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/flow.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/flow.py')
-rw-r--r-- | libmproxy/flow.py | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/libmproxy/flow.py b/libmproxy/flow.py index 89a52eff..1043cb21 100644 --- a/libmproxy/flow.py +++ b/libmproxy/flow.py @@ -443,20 +443,30 @@ class FlowMaster(controller.Master): """ pass - def load_script(self, path): + def get_script(self, path): """ - Loads a script. Returns an error description if something went - wrong. + Returns an (error, script) tuple. """ s = script.Script(path, self) try: s.load() except script.ScriptError, v: - return v.args[0] + return (v.args[0], None) ret = s.run("start") if not ret[0] and ret[1]: - return "Error in script start:\n\n" + ret[1][1] - self.script = s + return ("Error in script start:\n\n" + ret[1][1], None) + return (None, s) + + def load_script(self, path): + """ + Loads a script. Returns an error description if something went + wrong. + """ + r = self.get_script(path) + if r[0]: + return r[0] + else: + self.script = r[1] def set_stickycookie(self, txt): if txt: |