Merge pull request #19696 from nextcloud/backport/19694/stable18

[stable18] Also cache avatars when it's not allowed
This commit is contained in:
Roeland Jago Douma 2020-02-28 17:28:01 +01:00 committed by GitHub
commit fcb64dfd53
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -134,13 +134,15 @@ class AvatarController extends Controller {
if ($scope !== IAccountManager::VISIBILITY_PUBLIC && $this->userId === null) { if ($scope !== IAccountManager::VISIBILITY_PUBLIC && $this->userId === null) {
// Public avatar access is not allowed // Public avatar access is not allowed
return new JSONResponse([], Http::STATUS_NOT_FOUND); $response = new JSONResponse([], Http::STATUS_NOT_FOUND);
$response->cacheFor(1800);
return $response;
} }
try { try {
$avatar = $this->avatarManager->getAvatar($userId); $avatar = $this->avatarManager->getAvatar($userId);
$avatarFile = $avatar->getFile($size); $avatarFile = $avatar->getFile($size);
$resp = new FileDisplayResponse( $response = new FileDisplayResponse(
$avatarFile, $avatarFile,
$avatar->isCustomAvatar() ? Http::STATUS_OK : Http::STATUS_CREATED, $avatar->isCustomAvatar() ? Http::STATUS_OK : Http::STATUS_CREATED,
['Content-Type' => $avatarFile->getMimeType()] ['Content-Type' => $avatarFile->getMimeType()]
@ -150,8 +152,8 @@ class AvatarController extends Controller {
} }
// Cache for 30 minutes // Cache for 30 minutes
$resp->cacheFor(1800); $response->cacheFor(1800);
return $resp; return $response;
} }
/** /**