aboutsummaryrefslogtreecommitdiffstats
path: root/core/Controller/AvatarController.php
diff options
context:
space:
mode:
authorRoeland Jago Douma <roeland@famdouma.nl>2016-11-30 08:38:13 +0100
committerRoeland Jago Douma <roeland@famdouma.nl>2016-11-30 09:43:36 +0100
commit5c602f32177e553fdb86c2f1ef5a6a85beb98913 (patch)
tree82732dfefa4865da049c6caf17016c99531c7135 /core/Controller/AvatarController.php
parent41dcceeb354c2d375ad279792dfadafe24858d75 (diff)
downloadnextcloud-server-5c602f32177e553fdb86c2f1ef5a6a85beb98913.tar.gz
nextcloud-server-5c602f32177e553fdb86c2f1ef5a6a85beb98913.zip
Cache all avatar responses
* Cache for 30 minutes * Also cache when avatar can't be found Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
Diffstat (limited to 'core/Controller/AvatarController.php')
-rw-r--r--core/Controller/AvatarController.php26
1 files changed, 10 insertions, 16 deletions
diff --git a/core/Controller/AvatarController.php b/core/Controller/AvatarController.php
index 5e3d563cf2c..5a3d6309149 100644
--- a/core/Controller/AvatarController.php
+++ b/core/Controller/AvatarController.php
@@ -133,16 +133,6 @@ class AvatarController extends Controller {
$resp = new FileDisplayResponse($avatar,
Http::STATUS_OK,
['Content-Type' => $avatar->getMimeType()]);
-
- // Let cache this!
- $resp->addHeader('Pragma', 'public');
- // Cache for 15 minutes
- $resp->cacheFor(900);
-
- $expires = new \DateTime();
- $expires->setTimestamp($this->timeFactory->getTime());
- $expires->add(new \DateInterval('PT15M'));
- $resp->addHeader('Expires', $expires->format(\DateTime::RFC2822));
} catch (NotFoundException $e) {
$user = $this->userManager->get($userId);
$resp = new JSONResponse([
@@ -150,20 +140,24 @@ class AvatarController extends Controller {
'displayname' => $user->getDisplayName(),
],
]);
- // Don't cache this
- $resp->cacheFor(0);
- $resp->setLastModified(new \DateTime('now', new \DateTimeZone('GMT')));
} catch (\Exception $e) {
$resp = new JSONResponse([
'data' => [
'displayname' => '',
],
]);
- // Don't cache this
- $resp->cacheFor(0);
- $resp->setLastModified(new \DateTime('now', new \DateTimeZone('GMT')));
}
+ // Let cache this!
+ $resp->addHeader('Pragma', 'public');
+ // Cache for 30 minutes
+ $resp->cacheFor(1800);
+
+ $expires = new \DateTime();
+ $expires->setTimestamp($this->timeFactory->getTime());
+ $expires->add(new \DateInterval('PT30M'));
+ $resp->addHeader('Expires', $expires->format(\DateTime::RFC1123));
+
return $resp;
}