aboutsummaryrefslogtreecommitdiffstats
path: root/libmproxy/protocol2/layer.py
diff options
context:
space:
mode:
authorMaximilian Hils <git@maximilianhils.com>2015-08-14 10:41:11 +0200
committerMaximilian Hils <git@maximilianhils.com>2015-08-14 10:41:11 +0200
commit808218f4bc64be8de065604f6509eb75d98fde88 (patch)
treeae9320c3153761acb9924a5eb52b8a6162c43448 /libmproxy/protocol2/layer.py
parentaef3b626a70de5f385c8f5496c2e49575b5c3e1c (diff)
downloadmitmproxy-808218f4bc64be8de065604f6509eb75d98fde88.tar.gz
mitmproxy-808218f4bc64be8de065604f6509eb75d98fde88.tar.bz2
mitmproxy-808218f4bc64be8de065604f6509eb75d98fde88.zip
more work on http layer
Diffstat (limited to 'libmproxy/protocol2/layer.py')
-rw-r--r--libmproxy/protocol2/layer.py11
1 files changed, 9 insertions, 2 deletions
diff --git a/libmproxy/protocol2/layer.py b/libmproxy/protocol2/layer.py
index 0ae64c43..e9f5c667 100644
--- a/libmproxy/protocol2/layer.py
+++ b/libmproxy/protocol2/layer.py
@@ -16,9 +16,7 @@ Regular proxy, CONNECT request with WebSockets over SSL:
Automated protocol detection by peeking into the buffer:
TransparentModeLayer
- AutoLayer
SslLayer
- AutoLayer
Http2Layer
Communication between layers is done as follows:
@@ -91,6 +89,13 @@ class Layer(_LayerCodeCompletion):
full_msg = "\n".join(full_msg)
self.channel.tell("log", Log(full_msg, level))
+ @property
+ def layers(self):
+ return [self] + self.ctx.layers
+
+ def __repr__(self):
+ return "%s\r\n %s" % (self.__class__.name__, repr(self.ctx))
+
class ServerConnectionMixin(object):
"""
@@ -133,6 +138,8 @@ class ServerConnectionMixin(object):
self.server_conn = None
def _connect(self):
+ if not self.server_address:
+ raise ProtocolException("Cannot connect to server, no server address given.")
self.log("serverconnect", "debug", [repr(self.server_address)])
self.server_conn = ServerConnection(self.server_address)
try: