From e75730d56b04ab61eaae5aa7fe6ade0116cb3cb8 Mon Sep 17 00:00:00 2001 From: User <user@mbr.local> Date: Sun, 1 Jun 2014 00:09:47 -0400 Subject: [PATCH] Set proper headers on Cover Images so they can be cached by the browser --- .../src/VuFind/Controller/CoverController.php | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/module/VuFind/src/VuFind/Controller/CoverController.php b/module/VuFind/src/VuFind/Controller/CoverController.php index 220f33fca16..e1fda710ba2 100644 --- a/module/VuFind/src/VuFind/Controller/CoverController.php +++ b/module/VuFind/src/VuFind/Controller/CoverController.php @@ -109,6 +109,22 @@ class CoverController extends AbstractBase $headers->addHeaderLine( 'Content-type', $this->getLoader()->getContentType() ); + + // Send proper caching headers so that the user's browser + // is able to cache the cover images and not have to re-request + // then on each page load. Default TTL set at 14 days + + $coverImageTtl = (60*60*24*14); // 14 days + $headers->addHeaderLine( + 'Cache-Control', "maxage=".$coverImageTtl + ); + $headers->addHeaderLine( + 'Pragma', 'public' + ); + $headers->addHeaderLine( + 'Expires', gmdate('D, d M Y H:i:s', time()+$coverImageTtl) . ' GMT' + ); + $response->setContent($this->getLoader()->getImage()); return $response; } -- GitLab