diff --git a/synapse/appservice/api.py b/synapse/appservice/api.py
index 799ada96df..74508ecddf 100644
--- a/synapse/appservice/api.py
+++ b/synapse/appservice/api.py
@@ -13,8 +13,8 @@
# See the License for the specific language governing permissions and
# limitations under the License.
from twisted.internet import defer
-from twisted.web.client import PartialDownloadError
+from synapse.api.errors import CodeMessageException
from synapse.http.client import SimpleHttpClient
import logging
@@ -42,11 +42,11 @@ class ApplicationServiceApi(SimpleHttpClient):
})
if response: # just an empty json object
defer.returnValue(True)
- except PartialDownloadError as e:
- if e.status == 404:
+ except CodeMessageException as e:
+ if e.code == 404:
defer.returnValue(False)
return
- logger.warning("query_user to %s received %s", (uri, e.status))
+ logger.warning("query_user to %s received %s", uri, e.code)
@defer.inlineCallbacks
def query_alias(self, service, alias):
@@ -56,14 +56,13 @@ class ApplicationServiceApi(SimpleHttpClient):
response = yield self.get_json(uri, {
"access_token": self.hs_token
})
- logger.info("%s", response[0])
if response: # just an empty json object
defer.returnValue(True)
- except PartialDownloadError as e:
- if e.status == 404:
+ except CodeMessageException as e:
+ if e.code == 404:
defer.returnValue(False)
return
- logger.warning("query_alias to %s received %s", (uri, e.status))
+ logger.warning("query_alias to %s received %s", uri, e.code)
def push_bulk(self, service, events):
pass
diff --git a/synapse/http/client.py b/synapse/http/client.py
index 5f4558be47..fee8c901a2 100644
--- a/synapse/http/client.py
+++ b/synapse/http/client.py
@@ -113,6 +113,9 @@ class SimpleHttpClient(object):
if 200 <= response.code < 300:
defer.returnValue(json.loads(body))
else:
+ # NB: This is explicitly not json.loads(body)'d because the contract
+ # of CodeMessageException is a *string* message. Callers can always
+ # load it into JSON if they want.
raise CodeMessageException(response.code, body)
|