From 3ec10dffd6105e8fc78cb60f08c4636abf9d76e6 Mon Sep 17 00:00:00 2001
From: "Paul \"LeoNerd\" Evans" <paul@matrix.org>
Date: Thu, 18 Aug 2016 00:39:09 +0100
Subject: [PATCH] Actually make 3PU lookup calls out to ASes

---
 synapse/appservice/api.py | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/synapse/appservice/api.py b/synapse/appservice/api.py
index 6e5f7dc404..bfc1866591 100644
--- a/synapse/appservice/api.py
+++ b/synapse/appservice/api.py
@@ -71,8 +71,17 @@ class ApplicationServiceApi(SimpleHttpClient):
             logger.warning("query_alias to %s threw exception %s", uri, ex)
         defer.returnValue(False)
 
+    @defer.inlineCallbacks
     def query_3pu(self, service, protocol, fields):
-        return False
+        uri = service.url + ("/3pu/%s" % urllib.quote(protocol))
+        response = None
+        try:
+            response = yield self.get_json(uri, fields)
+            defer.returnValue(response)
+        except:
+            # TODO: would be noisy to log lookup failures, but we want to log
+            # other things. Hrm.
+            defer.returnValue([])
 
     @defer.inlineCallbacks
     def push_bulk(self, service, events, txn_id=None):
-- 
GitLab