summary refs log tree commit diff
path: root/synapse/http
diff options
context:
space:
mode:
authorMatthew Hodgson <matthew@matrix.org>2014-11-11 05:36:39 +0000
committerMatthew Hodgson <matthew@matrix.org>2014-11-11 05:36:39 +0000
commit7df8c8c28720248d259eb354280883a75fc4e5c1 (patch)
treefa79c77703fcff643002b9ace22b2c12b64dc3da /synapse/http
parentlinky topics (diff)
downloadsynapse-7df8c8c28720248d259eb354280883a75fc4e5c1.tar.xz
apply some cache headers to try to make the content repo less nutso
Diffstat (limited to 'synapse/http')
-rw-r--r--synapse/http/content_repository.py8
1 files changed, 8 insertions, 0 deletions
diff --git a/synapse/http/content_repository.py b/synapse/http/content_repository.py
index 3159ffff0a..1306b35271 100644
--- a/synapse/http/content_repository.py
+++ b/synapse/http/content_repository.py
@@ -129,6 +129,14 @@ class ContentRepoResource(resource.Resource):
             logger.info("Sending file %s", file_path)
             f = open(file_path, 'rb')
             request.setHeader('Content-Type', content_type)
+
+            # cache for at least a day.
+            # XXX: we might want to turn this off for data we don't want to recommend
+            # caching as it's sensitive or private - or at least select private.
+            # don't bother setting Expires as all our matrix clients are smart enough to
+            # be happy with Cache-Control (right?)
+            request.setHeader('Cache-Control', 'public,max-age=86400,s-maxage=86400')
+            
             d = FileSender().beginFileTransfer(f, request)
 
             # after the file has been sent, clean up and finish the request