From 907536503c399af888af2eed8bc6dca76b39ab1d Mon Sep 17 00:00:00 2001 From: Aldo Cortesi Date: Fri, 18 Mar 2011 10:43:43 +1300 Subject: Enable request and response script commandline arguments for mitmproxy. --- libmproxy/console.py | 36 ++++++++++++++++++++++-------------- 1 file changed, 22 insertions(+), 14 deletions(-) diff --git a/libmproxy/console.py b/libmproxy/console.py index 15d25c90..3503e2c0 100644 --- a/libmproxy/console.py +++ b/libmproxy/console.py @@ -517,20 +517,7 @@ class ConnectionView(WWrap): return key def run_script(self, path): - path = os.path.expanduser(path) - self.state.last_script = path - try: - serr = self.flow.run_script(path) - except flow.RunException, e: - if e.errout: - serr = "Script error code: %s\n\n"%e.returncode + e.errout - self.master.spawn_external_viewer(serr, None) - self.master.statusbar.message("Script error: %s"%e) - return - if serr: - serr = "Script output:\n\n" + serr - self.master.spawn_external_viewer(serr, None) - self.master.refresh_connection(self.flow) + self.master._runscript(self.flow, path) class _PathCompleter: @@ -823,6 +810,11 @@ class ConsoleMaster(flow.FlowMaster): self.conn_list_view = None self.set_palette() + if options.response_script: + self.set_response_script(options.response_script) + if options.request_script: + self.set_request_script(options.request_script) + r = self.set_limit(options.limit) if r: print >> sys.stderr, "Limit error:", r @@ -852,6 +844,22 @@ class ConsoleMaster(flow.FlowMaster): if options.server_replay: self.server_playback_path(options.server_replay) + def _runscript(self, f, path): + path = os.path.expanduser(path) + self.state.last_script = path + try: + serr = f.run_script(path) + except flow.RunException, e: + if e.errout: + serr = "Script error code: %s\n\n"%e.returncode + e.errout + self.spawn_external_viewer(serr, None) + self.statusbar.message("Script error: %s"%e) + return + if serr: + serr = "Script output:\n\n" + serr + self.spawn_external_viewer(serr, None) + self.refresh_connection(f) + def _view_conn_normal(self, content, txt): for i in content.splitlines(): txt.append( -- cgit v1.2.3