aboutsummaryrefslogtreecommitdiffstats
path: root/mitmproxy/addonmanager.py
diff options
context:
space:
mode:
authorAldo Cortesi <aldo@corte.si>2017-03-16 10:29:02 +1300
committerAldo Cortesi <aldo@corte.si>2017-03-16 11:07:00 +1300
commit228a22b3c044b23bd75e4558778722bf3f44cf24 (patch)
treedd6f7f45de4d70a5a899d95c7ec63b91d76d7f92 /mitmproxy/addonmanager.py
parent169068c7ec97ae0dfb64cfa5e5b1588c6e62297d (diff)
downloadmitmproxy-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.py5
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
-