From 3bb32f11d77bb905b9049f151a4d49b397d4ce7f Mon Sep 17 00:00:00 2001 From: KOUNOIKE Yuusuke Date: Sat, 1 Apr 2017 21:26:32 +0900 Subject: [PATCH 1/2] Fix #1516 send noimage.png when user is not exist or removed. --- .../gitbucket/core/controller/AccountController.scala | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/main/scala/gitbucket/core/controller/AccountController.scala b/src/main/scala/gitbucket/core/controller/AccountController.scala index 139470232..b72c9a94a 100644 --- a/src/main/scala/gitbucket/core/controller/AccountController.scala +++ b/src/main/scala/gitbucket/core/controller/AccountController.scala @@ -150,20 +150,21 @@ trait AccountControllerBase extends AccountManagementControllerBase { get("/:userName/_avatar"){ val userName = params("userName") + contentType = "image/png" getAccountByUserName(userName).map{ account => response.setDateHeader("Last-Modified", account.updatedDate.getTime) account.image.map{ image => RawData(FileUtil.getMimeType(image), new java.io.File(getUserUploadDir(userName), image)) }.getOrElse{ - contentType = "image/png" (if (account.isGroupAccount) { TextAvatarUtil.textGroupAvatar(account.fullName) } else { TextAvatarUtil.textAvatar(account.fullName) - }).getOrElse(Thread.currentThread.getContextClassLoader.getResourceAsStream("noimage.png")) + }).get } }.getOrElse{ - NotFound() + response.setHeader("Cache-Control", "max-age=3600") + Thread.currentThread.getContextClassLoader.getResourceAsStream("noimage.png") } } From 83a27809efd2fc8a8d3b83a763f798ba2fa35c84 Mon Sep 17 00:00:00 2001 From: KOUNOIKE Yuusuke Date: Sun, 2 Apr 2017 15:42:21 +0900 Subject: [PATCH 2/2] remove .get --- .../gitbucket/core/controller/AccountController.scala | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/scala/gitbucket/core/controller/AccountController.scala b/src/main/scala/gitbucket/core/controller/AccountController.scala index b72c9a94a..4ec340727 100644 --- a/src/main/scala/gitbucket/core/controller/AccountController.scala +++ b/src/main/scala/gitbucket/core/controller/AccountController.scala @@ -151,16 +151,16 @@ trait AccountControllerBase extends AccountManagementControllerBase { get("/:userName/_avatar"){ val userName = params("userName") contentType = "image/png" - getAccountByUserName(userName).map{ account => + getAccountByUserName(userName).flatMap{ account => response.setDateHeader("Last-Modified", account.updatedDate.getTime) account.image.map{ image => - RawData(FileUtil.getMimeType(image), new java.io.File(getUserUploadDir(userName), image)) + Some(RawData(FileUtil.getMimeType(image), new java.io.File(getUserUploadDir(userName), image))) }.getOrElse{ - (if (account.isGroupAccount) { + if (account.isGroupAccount) { TextAvatarUtil.textGroupAvatar(account.fullName) } else { TextAvatarUtil.textAvatar(account.fullName) - }).get + } } }.getOrElse{ response.setHeader("Cache-Control", "max-age=3600")