From cdc8431865c8f56064c6e3e943451b7570ad83ab Mon Sep 17 00:00:00 2001 From: KOUNOIKE Yuusuke Date: Tue, 14 Mar 2017 05:36:02 +0900 Subject: [PATCH] Add query parameter by updatedDate for _avatar image for cache control. --- .../scala/gitbucket/core/view/AvatarImageProvider.scala | 6 +++--- src/main/scala/gitbucket/core/view/helpers.scala | 5 +++++ 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/main/scala/gitbucket/core/view/AvatarImageProvider.scala b/src/main/scala/gitbucket/core/view/AvatarImageProvider.scala index 8d316ab3f..8cd64d01a 100644 --- a/src/main/scala/gitbucket/core/view/AvatarImageProvider.scala +++ b/src/main/scala/gitbucket/core/view/AvatarImageProvider.scala @@ -20,7 +20,7 @@ trait AvatarImageProvider { self: RequestCache => if(account.image.isEmpty && context.settings.gravatar){ s"""https://www.gravatar.com/avatar/${StringUtil.md5(account.mailAddress.toLowerCase)}?s=${size}&d=retro&r=g""" } else { - s"""${context.path}/${account.userName}/_avatar""" + s"""${context.path}/${account.userName}/_avatar?${helpers.hashDate(account.updatedDate)}""" } } getOrElse { s"""${context.path}/_unknown/_avatar""" @@ -31,7 +31,7 @@ trait AvatarImageProvider { self: RequestCache => if(account.image.isEmpty && context.settings.gravatar){ s"""https://www.gravatar.com/avatar/${StringUtil.md5(account.mailAddress.toLowerCase)}?s=${size}&d=retro&r=g""" } else { - s"""${context.path}/${account.userName}/_avatar""" + s"""${context.path}/${account.userName}/_avatar?${helpers.hashDate(account.updatedDate)}""" } } getOrElse { if(context.settings.gravatar){ @@ -49,4 +49,4 @@ trait AvatarImageProvider { self: RequestCache => } } -} \ No newline at end of file +} diff --git a/src/main/scala/gitbucket/core/view/helpers.scala b/src/main/scala/gitbucket/core/view/helpers.scala index dc4e1c128..a60dcbb86 100644 --- a/src/main/scala/gitbucket/core/view/helpers.scala +++ b/src/main/scala/gitbucket/core/view/helpers.scala @@ -74,6 +74,11 @@ object helpers extends AvatarImageProvider with LinkConverter with RequestCache */ def date(date: Date): String = new SimpleDateFormat("yyyy-MM-dd").format(date) + /** + * Format java.util.Date to "yyyyMMDDHHmmss" (for url hash ex. /some/path.css?19800101010203 + */ + def hashDate(date: Date): String = new SimpleDateFormat("yyyyMMddHHmmss").format(date) + /** * Returns singular if count is 1, otherwise plural. * If plural is not specified, returns singular + "s" as plural.