aboutsummaryrefslogtreecommitdiffstats
path: root/libmproxy/protocol2/messages.py
diff options
context:
space:
mode:
authorMaximilian Hils <git@maximilianhils.com>2015-07-24 18:29:13 +0200
committerMaximilian Hils <git@maximilianhils.com>2015-08-11 20:32:09 +0200
commitc1d016823c67fc834a2fdb6c77181d14b5fd8008 (patch)
tree97716e537597431e360cb49d75125f9def26bb2d /libmproxy/protocol2/messages.py
parentbe995ddbd62579621ed06ed7197c8f22939c16d1 (diff)
downloadmitmproxy-c1d016823c67fc834a2fdb6c77181d14b5fd8008.tar.gz
mitmproxy-c1d016823c67fc834a2fdb6c77181d14b5fd8008.tar.bz2
mitmproxy-c1d016823c67fc834a2fdb6c77181d14b5fd8008.zip
move files around
Diffstat (limited to 'libmproxy/protocol2/messages.py')
-rw-r--r--libmproxy/protocol2/messages.py43
1 files changed, 43 insertions, 0 deletions
diff --git a/libmproxy/protocol2/messages.py b/libmproxy/protocol2/messages.py
new file mode 100644
index 00000000..52bb5a44
--- /dev/null
+++ b/libmproxy/protocol2/messages.py
@@ -0,0 +1,43 @@
+"""
+This module contains all valid messages layers can send to the underlying layers.
+"""
+from __future__ import (absolute_import, print_function, division, unicode_literals)
+
+
+class _Message(object):
+ def __eq__(self, other):
+ # Allow message == Connect checks.
+ if isinstance(self, other):
+ return True
+ return self is other
+
+ def __ne__(self, other):
+ return not self.__eq__(other)
+
+
+class Connect(_Message):
+ """
+ Connect to the server
+ """
+
+
+class Reconnect(_Message):
+ """
+ Re-establish the server connection
+ """
+
+
+class ChangeServer(_Message):
+ """
+ Change the upstream server.
+ """
+
+ def __init__(self, address, server_ssl, sni, depth=1):
+ self.address = address
+ self.server_ssl = server_ssl
+ self.sni = sni
+
+ # upstream proxy scenario: you may want to change either the final target or the upstream proxy.
+ # We can express this neatly as the "nth-server-providing-layer"
+ # ServerConnection could get a `via` attribute.
+ self.depth = depth