aboutsummaryrefslogtreecommitdiffstats
path: root/libmproxy/protocol/__init__.py
diff options
context:
space:
mode:
authorMaximilian Hils <git@maximilianhils.com>2014-01-30 18:56:23 +0100
committerMaximilian Hils <git@maximilianhils.com>2014-01-30 18:56:23 +0100
commit8544a5ba4b75bd42a97fe0949834175121f4cb38 (patch)
tree40c09b3118c9c282e6591888c4333c10fdf2d96f /libmproxy/protocol/__init__.py
parent179c3ae8aad4fdce70f734148f386c5a07414384 (diff)
downloadmitmproxy-8544a5ba4b75bd42a97fe0949834175121f4cb38.tar.gz
mitmproxy-8544a5ba4b75bd42a97fe0949834175121f4cb38.tar.bz2
mitmproxy-8544a5ba4b75bd42a97fe0949834175121f4cb38.zip
add generic TCP handler with SSL support, move StateObject into netlib
Diffstat (limited to 'libmproxy/protocol/__init__.py')
-rw-r--r--libmproxy/protocol/__init__.py11
1 files changed, 8 insertions, 3 deletions
diff --git a/libmproxy/protocol/__init__.py b/libmproxy/protocol/__init__.py
index 5419c5ef..5e11e750 100644
--- a/libmproxy/protocol/__init__.py
+++ b/libmproxy/protocol/__init__.py
@@ -12,6 +12,7 @@ class ConnectionTypeChange(Exception):
class ProtocolHandler(object):
def __init__(self, c):
self.c = c
+ """@type : libmproxy.proxy.ConnectionHandler"""
def handle_messages(self):
"""
@@ -27,13 +28,17 @@ class ProtocolHandler(object):
"""
raise NotImplementedError
+from . import http, tcp
-from .http import HTTPHandler
+protocols = dict(
+ http = dict(handler=http.HTTPHandler, flow=http.HTTPFlow),
+ tcp = dict(handler=tcp.TCPHandler),
+)
def _handler(conntype, connection_handler):
- if conntype == "http":
- return HTTPHandler(connection_handler)
+ if conntype in protocols:
+ return protocols[conntype]["handler"](connection_handler)
raise NotImplementedError