Actually query over AS API for 3PE lookup metadata

This commit is contained in:
Paul "LeoNerd" Evans 2016-08-25 15:10:06 +01:00
parent 8e1ed09dff
commit 5474824975
2 changed files with 21 additions and 13 deletions

View file

@ -52,6 +52,13 @@ class ApplicationServiceApi(SimpleHttpClient):
pushing.
"""
PROTOCOL_META = {
# TODO(paul): Declare kinds of metadata in here
"gitter": {
"user_fields": ["username"],
}
}
def __init__(self, hs):
super(ApplicationServiceApi, self).__init__(hs)
self.clock = hs.get_clock()
@ -131,6 +138,19 @@ class ApplicationServiceApi(SimpleHttpClient):
logger.warning("query_3pe to %s threw exception %s", uri, ex)
defer.returnValue([])
@defer.inlineCallbacks
def get_3pe_protocol(self, service, protocol):
# TODO: cache
uri = "%s/thirdparty/protocol/%s" % (service.url, urllib.quote(protocol))
try:
response = yield self.get_json(uri, {})
defer.returnValue(response)
except Exception as ex:
logger.warning("query_3pe_protocol to %s threw exception %s",
uri, ex
)
defer.returnValue({})
@defer.inlineCallbacks
def push_bulk(self, service, events, txn_id=None):
events = self._serialize(events)