diff options
author | Maximilian Hils <git@maximilianhils.com> | 2016-02-27 02:17:01 +0100 |
---|---|---|
committer | Maximilian Hils <git@maximilianhils.com> | 2016-02-27 02:17:01 +0100 |
commit | b8b37fdad696c98124828821715cf228191d8f59 (patch) | |
tree | 7fc773edbda7203249706cca6d3b8f8aaf0ea126 | |
parent | 679c97ec3e74e879c3d2730b4f1b396a7df34b21 (diff) | |
download | mitmproxy-b8b37fdad696c98124828821715cf228191d8f59.tar.gz mitmproxy-b8b37fdad696c98124828821715cf228191d8f59.tar.bz2 mitmproxy-b8b37fdad696c98124828821715cf228191d8f59.zip |
add simplified connection constructor
-rw-r--r-- | mitmproxy/models/connections.py | 28 |
1 files changed, 26 insertions, 2 deletions
diff --git a/mitmproxy/models/connections.py b/mitmproxy/models/connections.py index d5920256..857580b8 100644 --- a/mitmproxy/models/connections.py +++ b/mitmproxy/models/connections.py @@ -8,7 +8,6 @@ from .. import stateobject, utils class ClientConnection(tcp.BaseHandler, stateobject.StateObject): - def __init__(self, client_connection, address, server): # Eventually, this object is restored from state. We don't have a # connection then. @@ -65,6 +64,17 @@ class ClientConnection(tcp.BaseHandler, stateobject.StateObject): f.set_state(state) return f + @classmethod + def make_dummy(cls, address): + return cls.from_state(dict( + address=dict(address=address, use_ipv6=False), + clientcert=None, + ssl_established=False, + timestamp_start=None, + timestamp_end=None, + timestamp_ssl_setup=None + )) + def convert_to_ssl(self, *args, **kwargs): super(ClientConnection, self).convert_to_ssl(*args, **kwargs) self.timestamp_ssl_setup = utils.timestamp() @@ -75,7 +85,6 @@ class ClientConnection(tcp.BaseHandler, stateobject.StateObject): class ServerConnection(tcp.TCPClient, stateobject.StateObject): - def __init__(self, address, source_address=None): tcp.TCPClient.__init__(self, address, source_address) @@ -123,6 +132,21 @@ class ServerConnection(tcp.TCPClient, stateobject.StateObject): f.set_state(state) return f + @classmethod + def make_dummy(cls, address): + return cls.from_state(dict( + address=dict(address=address, use_ipv6=False), + cert=None, + sni=None, + source_address=dict(address=('', 0), use_ipv6=False), + ssl_established=False, + timestamp_start=None, + timestamp_tcp_setup=None, + timestamp_ssl_setup=None, + timestamp_end=None, + via=None + )) + def copy(self): return copy.copy(self) |