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
from synapse.http import servlet
from synapse.http.servlet import parse_json_object_from_request
from synapse.rest.client.v1.transactions import HttpTransactionCache
from synapse.util.async import ObservableDeferred
from ._base import client_v2_patterns
......@@ -47,14 +48,14 @@ class SendToDeviceRestServlet(servlet.RestServlet):
def on_PUT(self, request, message_type, txn_id):
try:
res_deferred = self.txns.get_client_transaction(request, txn_id)
res = yield res_deferred
res = yield res_deferred.observe()
defer.returnValue(res)
except KeyError:
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)
res = yield res_deferred
res = yield res_deferred.observe()
defer.returnValue(res)
@defer.inlineCallbacks
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment