summary refs log tree commit diff
path: root/synapse/rest
diff options
context:
space:
mode:
authorMark Haines <mark.haines@matrix.org>2015-05-12 16:37:50 +0100
committerMark Haines <mark.haines@matrix.org>2015-05-12 16:37:50 +0100
commitcffe6057fb59a4db622132a84b5ef88cf81f6bfd (patch)
tree173ebcd9a8c7c04ee3a4f733995a47c515e9c81a /synapse/rest
parentMerge branch 'notifier_unify' into notifier_performance (diff)
parentMerge branch 'develop' into notifier_unify (diff)
downloadsynapse-cffe6057fb59a4db622132a84b5ef88cf81f6bfd.tar.xz
Merge branch 'notifier_unify' into notifier_performance
Conflicts:
	synapse/notifier.py
Diffstat (limited to 'synapse/rest')
-rw-r--r--synapse/rest/media/v1/base_resource.py8
1 files changed, 6 insertions, 2 deletions
diff --git a/synapse/rest/media/v1/base_resource.py b/synapse/rest/media/v1/base_resource.py
index 08c8d75af4..4af5f73878 100644
--- a/synapse/rest/media/v1/base_resource.py
+++ b/synapse/rest/media/v1/base_resource.py
@@ -25,7 +25,7 @@ from twisted.internet import defer
 from twisted.web.resource import Resource
 from twisted.protocols.basic import FileSender
 
-from synapse.util.async import create_observer
+from synapse.util.async import ObservableDeferred
 
 import os
 
@@ -83,13 +83,17 @@ class BaseMediaResource(Resource):
         download = self.downloads.get(key)
         if download is None:
             download = self._get_remote_media_impl(server_name, media_id)
+            download = ObservableDeferred(
+                download,
+                consumeErrors=True
+            )
             self.downloads[key] = download
 
             @download.addBoth
             def callback(media_info):
                 del self.downloads[key]
                 return media_info
-        return create_observer(download)
+        return download.observe()
 
     @defer.inlineCallbacks
     def _get_remote_media_impl(self, server_name, media_id):