diff --git a/synapse/http/client.py b/synapse/http/client.py
index c60e3c2ac0..37988716e7 100644
--- a/synapse/http/client.py
+++ b/synapse/http/client.py
@@ -25,7 +25,7 @@ from synapse.http.endpoint import SpiderEndpoint
from canonicaljson import encode_canonical_json
from twisted.internet import defer, reactor, ssl, protocol, task
-from twisted.internet.endpoints import SSL4ClientEndpoint, TCP4ClientEndpoint
+from twisted.internet.endpoints import HostnameEndpoint, wrapClientTLS
from twisted.web.client import (
BrowserLikeRedirectAgent, ContentDecoderAgent, GzipDecoder, Agent,
readBody, PartialDownloadError,
@@ -386,13 +386,16 @@ class SpiderEndpointFactory(object):
def endpointForURI(self, uri):
logger.info("Getting endpoint for %s", uri.toBytes())
-
+
if uri.scheme == "http":
endpoint_factory = HostnameEndpoint
elif uri.scheme == "https":
tlsCreator = self.policyForHTTPS.creatorForNetloc(uri.host, uri.port)
+
def endpoint_factory(reactor, host, port, **kw):
- return wrapClientTLS(tlsCreator, HostnameEndpoint(reactor, host, port, **kw)
+ return wrapClientTLS(
+ tlsCreator,
+ HostnameEndpoint(reactor, host, port, **kw))
else:
logger.warn("Can't get endpoint for unrecognised scheme %s", uri.scheme)
return None
@@ -400,7 +403,7 @@ class SpiderEndpointFactory(object):
reactor, uri.host, uri.port, self.blacklist, self.whitelist,
endpoint=endpoint_factory, endpoint_kw_args=dict(timeout=15),
)
-
+
class SpiderHttpClient(SimpleHttpClient):
diff --git a/synapse/http/endpoint.py b/synapse/http/endpoint.py
index 5e2e428dbf..1c17a28406 100644
--- a/synapse/http/endpoint.py
+++ b/synapse/http/endpoint.py
@@ -61,8 +61,10 @@ def matrix_federation_endpoint(reactor, destination, ssl_context_factory=None,
transport_endpoint = HostnameEndpoint
default_port = 8008
else:
- def transport_endpoint(reactor, host, port):
- return wrapClientTLS(ssl_context_factory, HostnameEndpoint(reactor, host, port))
+ def transport_endpoint(reactor, host, port, timeout):
+ return wrapClientTLS(
+ ssl_context_factory,
+ HostnameEndpoint(reactor, host, port, timeout=timeout))
default_port = 8448
if port is None:
@@ -80,7 +82,7 @@ class SpiderEndpoint(object):
Implements twisted.internet.interfaces.IStreamClientEndpoint.
"""
def __init__(self, reactor, host, port, blacklist, whitelist,
- endpoint=TCP4ClientEndpoint, endpoint_kw_args={}):
+ endpoint=HostnameEndpoint, endpoint_kw_args={}):
self.reactor = reactor
self.host = host
self.port = port
@@ -118,7 +120,7 @@ class SRVClientEndpoint(object):
"""
def __init__(self, reactor, service, domain, protocol="tcp",
- default_port=None, endpoint=TCP4ClientEndpoint,
+ default_port=None, endpoint=HostnameEndpoint,
endpoint_kw_args={}):
self.reactor = reactor
self.service_name = "_%s._%s.%s" % (service, protocol, domain)
|