diff options
author | Aldo Cortesi <aldo@nullcube.com> | 2012-09-24 10:47:41 +1200 |
---|---|---|
committer | Aldo Cortesi <aldo@nullcube.com> | 2012-09-24 10:47:41 +1200 |
commit | 8a6cca530c5293aa2b77edd3bf928540ec771928 (patch) | |
tree | 2adadf22050196e0489cc68b9dd5ba634e4dc6f5 /netlib/tcp.py | |
parent | 1c80c2fdd7dd9873abc7b0a74936dab7beda7c5c (diff) | |
download | mitmproxy-8a6cca530c5293aa2b77edd3bf928540ec771928.tar.gz mitmproxy-8a6cca530c5293aa2b77edd3bf928540ec771928.tar.bz2 mitmproxy-8a6cca530c5293aa2b77edd3bf928540ec771928.zip |
Don't create fresh FileLike objects when converting to SSL
Diffstat (limited to 'netlib/tcp.py')
-rw-r--r-- | netlib/tcp.py | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/netlib/tcp.py b/netlib/tcp.py index e7bc79a8..0fed7380 100644 --- a/netlib/tcp.py +++ b/netlib/tcp.py @@ -44,6 +44,9 @@ class FileLike: def __init__(self, o): self.o = o + def set_descriptor(self, o): + self.o = o + def __getattr__(self, attr): return getattr(self.o, attr) @@ -140,8 +143,8 @@ class TCPClient: except SSL.Error, v: raise NetLibError("SSL handshake error: %s"%str(v)) self.cert = certutils.SSLCert(self.connection.get_peer_certificate()) - self.rfile = FileLike(self.connection) - self.wfile = FileLike(self.connection) + self.rfile.set_descriptor(self.connection) + self.wfile.set_descriptor(self.connection) def connect(self): try: @@ -209,8 +212,8 @@ class BaseHandler: self.connection.do_handshake() except SSL.Error, v: raise NetLibError("SSL handshake error: %s"%str(v)) - self.rfile = FileLike(self.connection) - self.wfile = FileLike(self.connection) + self.rfile.set_descriptor(self.connection) + self.wfile.set_descriptor(self.connection) def finish(self): self.finished = True |