diff options
Diffstat (limited to 'mitmproxy/flow/master.py')
-rw-r--r-- | mitmproxy/flow/master.py | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/mitmproxy/flow/master.py b/mitmproxy/flow/master.py index 520f82e9..7590a3fa 100644 --- a/mitmproxy/flow/master.py +++ b/mitmproxy/flow/master.py @@ -89,9 +89,10 @@ class FlowMaster(controller.Master): Raises: ScriptException """ - s = script.Script(command, script.ScriptContext(self)) + s = script.Script(command) s.load() if use_reloader: + s.reply = controller.DummyReply() script.reloader.watch(s, lambda: self.event_queue.put(("script_change", s))) self.scripts.append(s) @@ -234,8 +235,12 @@ class FlowMaster(controller.Master): return super(FlowMaster, self).tick(timeout) def duplicate_flow(self, f): + """ + Duplicate flow, and insert it into state without triggering any of + the normal flow events. + """ f2 = f.copy() - self.load_flow(f2) + self.state.add_flow(f2) return f2 def create_request(self, method, scheme, host, port, path): @@ -479,14 +484,14 @@ class FlowMaster(controller.Master): s.unload() except script.ScriptException as e: ok = False - self.add_event('Error reloading "{}":\n{}'.format(s.filename, e), 'error') + self.add_event('Error reloading "{}":\n{}'.format(s.path, e), 'error') try: s.load() except script.ScriptException as e: ok = False - self.add_event('Error reloading "{}":\n{}'.format(s.filename, e), 'error') + self.add_event('Error reloading "{}":\n{}'.format(s.path, e), 'error') else: - self.add_event('"{}" reloaded.'.format(s.filename), 'info') + self.add_event('"{}" reloaded.'.format(s.path), 'info') return ok @controller.handler |