From b1195c125fe6ff7e14743c6984623cbdcfad780a Mon Sep 17 00:00:00 2001 From: Kegan Dougal Date: Wed, 3 Sep 2014 13:51:10 +0100 Subject: [PATCH] hs: Updated synapse.http.client to handle DNSLookupErrors and bail immediately. --- synapse/http/client.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/synapse/http/client.py b/synapse/http/client.py index 093bdf0e3f..709c952226 100644 --- a/synapse/http/client.py +++ b/synapse/http/client.py @@ -15,6 +15,7 @@ from twisted.internet import defer, reactor +from twisted.internet.error import DNSLookupError from twisted.web.client import _AgentBase, _URI, readBody from twisted.web.http_headers import Headers @@ -23,7 +24,7 @@ from synapse.util.async import sleep from syutil.jsonutil import encode_canonical_json -from synapse.api.errors import CodeMessageException +from synapse.api.errors import CodeMessageException, SynapseError import json import logging @@ -198,6 +199,10 @@ class TwistedHttpClient(HttpClient): logger.debug("Got response to %s", method) break + except DNSLookupError as dns: + logger.warn("DNS Lookup failed to %s with %s", destination, + dns) + raise SynapseError(400, "Domain specified not found.") except Exception as e: logger.exception("Got error in _create_request") _print_ex(e)