summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/leap/common/http.py11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/leap/common/http.py b/src/leap/common/http.py
index 1f30903..6550302 100644
--- a/src/leap/common/http.py
+++ b/src/leap/common/http.py
@@ -109,7 +109,7 @@ class _HTTP11ClientFactory(HTTP11ClientFactory):
A timeout-able HTTP 1.1 client protocol factory.
"""
- def __init__(self, quiescentCallback, timeout):
+ def __init__(self, quiescentCallback, metadata, timeout):
"""
:param quiescentCallback: The quiescent callback to be passed to
protocol instances, used to return them to
@@ -119,7 +119,11 @@ class _HTTP11ClientFactory(HTTP11ClientFactory):
protocols created by this factory.
:type timeout: float
"""
- HTTP11ClientFactory.__init__(self, quiescentCallback)
+ try:
+ HTTP11ClientFactory.__init__(self, quiescentCallback)
+ except TypeError:
+ # Twisted >= 17.9 added an extra param
+ HTTP11ClientFactory.__init__(self, quiescentCallback, metadata)
self._timeout = timeout
def buildProtocol(self, _):
@@ -144,7 +148,8 @@ class _HTTPConnectionPool(HTTPConnectionPool):
def _newConnection(self, key, endpoint):
def quiescentCallback(protocol):
self._putConnection(key, protocol)
- factory = self._factory(quiescentCallback, timeout=self._timeout)
+ factory = self._factory(quiescentCallback, repr(endpoint),
+ timeout=self._timeout)
return endpoint.connect(factory)