send expiry header for redirects
authorChristian Weiske <cweiske@cweiske.de>
Wed, 9 Apr 2014 18:29:16 +0000 (20:29 +0200)
committerChristian Weiske <cweiske@cweiske.de>
Wed, 9 Apr 2014 18:29:16 +0000 (20:29 +0200)
src/phancap/Image.php
www/get.php

index ab3868e18f236b8d14c2c25331fe1690e3971b1c..151847ece6430075bba4ee9747642377cfb8a1eb 100644 (file)
@@ -12,6 +12,16 @@ class Image
         $this->name = $name;
     }
 
+    /**
+     * @return integer Unix timestamp
+     */
+    public function getExpiryDate(Options $options)
+    {
+        $mtime = filemtime($this->getPath());
+
+        return $mtime + $options->values['smaxage'];
+    }
+
     public function getMimeType()
     {
         $ext = substr($this->name, -4);
index 15463e43359cdd3140343dcc49b9eaf758ea518a..739aaf82ff6b97b443613729403e2c95cef63c1b 100644 (file)
@@ -42,6 +42,7 @@ try {
     $img = $rep->getImage($options);
     if ($config->redirect) {
         header('HTTP/1.0 302 Found');
+        header('Expires: ' . date('r', $img->getExpiryDate($options)));
         header('Location: ' . $img->getUrl());
     } else {
         header('Content-type: ' . $img->getMimeType());