aboutsummaryrefslogtreecommitdiffstats
path: root/libmproxy/protocol/__init__.py
diff options
context:
space:
mode:
Diffstat (limited to 'libmproxy/protocol/__init__.py')
-rw-r--r--libmproxy/protocol/__init__.py16
1 files changed, 16 insertions, 0 deletions
diff --git a/libmproxy/protocol/__init__.py b/libmproxy/protocol/__init__.py
index da85500b..f23159b2 100644
--- a/libmproxy/protocol/__init__.py
+++ b/libmproxy/protocol/__init__.py
@@ -28,6 +28,22 @@ class ProtocolHandler(object):
"""
raise error
+
+class TemporaryServerChangeMixin(object):
+ """
+ This mixin allows safe modification of the target server,
+ without any need to expose the ConnectionHandler to the Flow.
+ """
+
+ def change_server(self):
+ self._backup_server = True
+ raise NotImplementedError
+
+ def restore_server(self):
+ if not hasattr(self,"_backup_server"):
+ return
+ raise NotImplementedError
+
from . import http, tcp
protocols = {