Skip to content
Snippets Groups Projects
Commit c7daf313 authored by Kegan Dougal's avatar Kegan Dougal
Browse files

Use observable deferreds because they are sane

parent 8a8ad46f
No related branches found
No related tags found
No related merge requests found
...@@ -20,6 +20,7 @@ from twisted.internet import defer ...@@ -20,6 +20,7 @@ from twisted.internet import defer
from synapse.http import servlet from synapse.http import servlet
from synapse.http.servlet import parse_json_object_from_request from synapse.http.servlet import parse_json_object_from_request
from synapse.rest.client.v1.transactions import HttpTransactionCache from synapse.rest.client.v1.transactions import HttpTransactionCache
from synapse.util.async import ObservableDeferred
from ._base import client_v2_patterns from ._base import client_v2_patterns
...@@ -47,14 +48,14 @@ class SendToDeviceRestServlet(servlet.RestServlet): ...@@ -47,14 +48,14 @@ class SendToDeviceRestServlet(servlet.RestServlet):
def on_PUT(self, request, message_type, txn_id): def on_PUT(self, request, message_type, txn_id):
try: try:
res_deferred = self.txns.get_client_transaction(request, txn_id) res_deferred = self.txns.get_client_transaction(request, txn_id)
res = yield res_deferred res = yield res_deferred.observe()
defer.returnValue(res) defer.returnValue(res)
except KeyError: except KeyError:
pass pass
res_deferred = self._put(request, message_type, txn_id) res_deferred = ObservableDeferred(self._put(request, message_type, txn_id))
self.txns.store_client_transaction(request, txn_id, res_deferred) self.txns.store_client_transaction(request, txn_id, res_deferred)
res = yield res_deferred res = yield res_deferred.observe()
defer.returnValue(res) defer.returnValue(res)
@defer.inlineCallbacks @defer.inlineCallbacks
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment