aboutsummaryrefslogtreecommitdiffstats
path: root/mitmproxy/flow/master.py
diff options
context:
space:
mode:
Diffstat (limited to 'mitmproxy/flow/master.py')
-rw-r--r--mitmproxy/flow/master.py15
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