class UnixAdapter(requests.adapters.HTTPAdapter): def __init__(self, base_url, timeout=60): self.base_url = base_url self.timeout = timeout self.pools = RecentlyUsedContainer(10, dispose_func=lambda p: p.close()) super(UnixAdapter, self).__init__() def get_connection(self, socket_path, proxies=None): with self.pools.lock: pool = self.pools.get(socket_path) if pool: return pool pool = UnixHTTPConnectionPool(self.base_url, socket_path, self.timeout) self.pools[socket_path] = pool return pool def close(self): self.pools.clear()
class UnixAdapter(requests.adapters.HTTPAdapter): def __init__(self, base_url, timeout=60): self.base_url = base_url self.timeout = timeout self.pools = RecentlyUsedContainer(10, dispose_func=lambda p: p.close()) super(UnixAdapter, self).__init__() def get_connection(self, socket_path, proxies=None): with self.pools.lock: pool = self.pools.get(socket_path) if pool: return pool pool = UnixHTTPConnectionPool(self.base_url, socket_path, self.timeout) self.pools[socket_path] = pool return pool def close(self): self.pools.clear()