diff options
author | Aldo Cortesi <aldo@corte.si> | 2017-03-16 10:29:02 +1300 |
---|---|---|
committer | Aldo Cortesi <aldo@corte.si> | 2017-03-16 11:07:00 +1300 |
commit | 228a22b3c044b23bd75e4558778722bf3f44cf24 (patch) | |
tree | dd6f7f45de4d70a5a899d95c7ec63b91d76d7f92 /mitmproxy/addonmanager.py | |
parent | 169068c7ec97ae0dfb64cfa5e5b1588c6e62297d (diff) | |
download | mitmproxy-228a22b3c044b23bd75e4558778722bf3f44cf24.tar.gz mitmproxy-228a22b3c044b23bd75e4558778722bf3f44cf24.tar.bz2 mitmproxy-228a22b3c044b23bd75e4558778722bf3f44cf24.zip |
Add a light-weight custom event system, use it for keepserving
This patch implements the lightweight event system I propose in #2144, adds a
custom event "processing_complete" that is triggered after file read, client
replay and server replay, and introduces a KeepServing addon to handle this for
mitmdump.
Diffstat (limited to 'mitmproxy/addonmanager.py')
-rw-r--r-- | mitmproxy/addonmanager.py | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/mitmproxy/addonmanager.py b/mitmproxy/addonmanager.py index 097f87b7..123f64b2 100644 --- a/mitmproxy/addonmanager.py +++ b/mitmproxy/addonmanager.py @@ -69,8 +69,8 @@ class AddonManager: raise exceptions.AddonError( "invoke_addon called without a handler context." ) - if name not in eventsequence.Events: # prama: no cover - raise NotImplementedError("Unknown event") + if name not in eventsequence.Events: + name = "event_" + name func = getattr(addon, name, None) if func: if not callable(func): @@ -89,4 +89,3 @@ class AddonManager: self.invoke_addon(i, name, *args, **kwargs) except exceptions.AddonHalt: return - |