diff options
author | Aldo Cortesi <aldo@nullcube.com> | 2016-06-03 12:06:36 +1200 |
---|---|---|
committer | Aldo Cortesi <aldo@nullcube.com> | 2016-06-03 12:06:36 +1200 |
commit | e60860e65d06d2b4452b7ea94902d79eed11d78c (patch) | |
tree | 91a635bef6421248fa63a26255b52a6e96f98631 /netlib | |
parent | 36383a6146d605879bf8c2834370b09f42bfec06 (diff) | |
download | mitmproxy-e60860e65d06d2b4452b7ea94902d79eed11d78c.tar.gz mitmproxy-e60860e65d06d2b4452b7ea94902d79eed11d78c.tar.bz2 mitmproxy-e60860e65d06d2b4452b7ea94902d79eed11d78c.zip |
Make tcp.Client.connect return a context manager that closes the connection
Diffstat (limited to 'netlib')
-rw-r--r-- | netlib/tcp.py | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/netlib/tcp.py b/netlib/tcp.py index bb0c93a9..61209d64 100644 --- a/netlib/tcp.py +++ b/netlib/tcp.py @@ -6,6 +6,7 @@ import sys import threading import time import traceback +import contextlib import binascii from six.moves import range @@ -577,6 +578,12 @@ class _Connection(object): return context +@contextlib.contextmanager +def _closer(client): + yield + client.close() + + class TCPClient(_Connection): def __init__(self, address, source_address=None): @@ -708,6 +715,7 @@ class TCPClient(_Connection): self.connection = connection self.ip_address = Address(connection.getpeername()) self._makefile() + return _closer(self) def settimeout(self, n): self.connection.settimeout(n) |