1
2
3
4
5
6 import logging
7
8 from restkit import sock
9
10 log = logging.getLogger(__name__)
11
13
14 - def __init__(self, sck, manager, addr, ssl=False,
15 extra_headers=None):
16 self._sock = sck
17 self.manager = manager
18 self.addr = addr
19 self.ssl = ssl
20 self.extra_headers = extra_headers
21 self._released = False
22
23 - def release(self, should_close=False):
24 if self._released:
25 return
26
27 if should_close:
28 self.close()
29 else:
30 if log.isEnabledFor(logging.DEBUG):
31 log.debug("release connection")
32 self.manager.store_socket(self._sock, self.addr, self.ssl)
33
34 self._released = True
35
37 if log.isEnabledFor(logging.DEBUG):
38 log.debug("close connection")
39 sock.close(self._sock)
40
43