diff options
author | Matthew Shao <me@matshao.com> | 2015-11-13 21:08:39 +0800 |
---|---|---|
committer | Matthew Shao <me@matshao.com> | 2015-11-13 21:08:39 +0800 |
commit | cd0b9e01be4041275165ab5e90b524ab0b3247f0 (patch) | |
tree | 856a4fc440240a9152e02d842413d6e2ed049ef2 /libmproxy/flow.py | |
parent | 2522ba69fa5a8acb394c48cba05afdb5e01b4e4a (diff) | |
download | mitmproxy-cd0b9e01be4041275165ab5e90b524ab0b3247f0.tar.gz mitmproxy-cd0b9e01be4041275165ab5e90b524ab0b3247f0.tar.bz2 mitmproxy-cd0b9e01be4041275165ab5e90b524ab0b3247f0.zip |
Decouple libmproxy.script from libmproxy.flow
Diffstat (limited to 'libmproxy/flow.py')
-rw-r--r-- | libmproxy/flow.py | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/libmproxy/flow.py b/libmproxy/flow.py index 7cce5193..6f57c1a6 100644 --- a/libmproxy/flow.py +++ b/libmproxy/flow.py @@ -642,6 +642,7 @@ class FlowMaster(controller.Master): self.stream = None self.apps = AppRegistry() + script.sig_script_change.connect(self.script_change) def start_app(self, host, port): self.apps.add( @@ -666,10 +667,6 @@ class FlowMaster(controller.Master): except script.ScriptError as e: self.add_event("Script error:\n" + str(e), "error") self.scripts.remove(script_obj) - - def reload_scripts(self): - for s in self.scripts[:]: - s.load() def load_script(self, command): """ @@ -1025,6 +1022,9 @@ class FlowMaster(controller.Master): def handle_accept_intercept(self, f): self.state.update_flow(f) + def handle_script_change(self, script): + script.load() + def shutdown(self): self.unload_scripts() controller.Master.shutdown(self) @@ -1041,6 +1041,10 @@ class FlowMaster(controller.Master): self.stream.fo.close() self.stream = None + def script_change(self, script): + self.masterq.put(("script_change", script)) + self.add_event("<{}> reloaded.".format(script.args[0])) + def read_flows_from_paths(paths): """ |