diff --git a/synapse/appservice/api.py b/synapse/appservice/api.py
index 74508ecddf..fbf4abc526 100644
--- a/synapse/appservice/api.py
+++ b/synapse/appservice/api.py
@@ -64,8 +64,25 @@ class ApplicationServiceApi(SimpleHttpClient):
return
logger.warning("query_alias to %s received %s", uri, e.code)
+ @defer.inlineCallbacks
def push_bulk(self, service, events):
- pass
+ uri = service.url + ("/transactions/%s" %
+ urllib.quote(str(0))) # TODO txn_ids
+ response = None
+ try:
+ response = yield self.put_json(
+ uri,
+ {
+ "events": events
+ },
+ {
+ "access_token": self.hs_token
+ })
+ if response: # just an empty json object
+ defer.returnValue(True)
+ except CodeMessageException as e:
+ logger.warning("push_bulk to %s received %s", uri, e.code)
+ defer.returnValue(False)
@defer.inlineCallbacks
def push(self, service, event):
diff --git a/synapse/handlers/appservice.py b/synapse/handlers/appservice.py
index dd860b2244..2b2761682f 100644
--- a/synapse/handlers/appservice.py
+++ b/synapse/handlers/appservice.py
@@ -56,7 +56,7 @@ class ApplicationServicesHandler(object):
yield self.store.update_app_service(app_service)
logger.info("Sending ping to %s...", app_service.url)
- yield self.appservice_api.query_alias(app_service, "ping")
+ yield self.appservice_api.push(app_service, "pinger")
def unregister(self, token):
logger.info("Unregister as_token=%s", token)
|