]> git.ipfire.org Git - ipfire.org.git/commitdiff
nopaste: Set Expires and Cache-Control headers
authorMichael Tremer <michael.tremer@ipfire.org>
Tue, 21 Apr 2015 10:53:39 +0000 (12:53 +0200)
committerMichael Tremer <michael.tremer@ipfire.org>
Tue, 21 Apr 2015 10:53:39 +0000 (12:53 +0200)
webapp/handlers_nopaste.py

index 4b38a40a16b0a10b3db90337ab70787b5c811048..a3c274c0840ae4f3956350a9f7920a474b736bf3 100644 (file)
@@ -72,6 +72,17 @@ class NopasteRawHandler(BaseHandler):
                # Set mimetype
                self.set_header("Content-Type", entry.mimetype)
 
+               # Set expiry headers
+               expires = entry.time_expires or \
+                       (datetime.datetime.utcnow() + datetime.timedelta(days=30))
+
+               # For HTTP/1.0
+               self.set_header("Expires", expires)
+
+               # For HTTP/1.1
+               max_age = expires - datetime.datetime.utcnow()
+               self.set_header("Cache-Control", "public,max-age=%d" % max_age.total_seconds())
+
                # Send content
                content = self.backend.nopaste.get_content(entry.uuid)
                self.finish(content)