From 7ad6d3a8eeb80f0b269eaaf6373ebbbc7eab7e80 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Tue, 23 Jul 2013 18:04:30 -0400
Subject: [PATCH] Documentation

---
 src/main/java/com/gitblit/LogoServlet.java |    9 ++++++---
 1 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/src/main/java/com/gitblit/LogoServlet.java b/src/main/java/com/gitblit/LogoServlet.java
index 7402fc1..823e464 100644
--- a/src/main/java/com/gitblit/LogoServlet.java
+++ b/src/main/java/com/gitblit/LogoServlet.java
@@ -47,7 +47,7 @@
 	protected long getLastModified(HttpServletRequest req) {
 		File file = GitBlit.getFileOrFolder(Keys.web.headerLogo, "${baseFolder}/logo.png");
 		if (file.exists()) {
-			return file.lastModified();
+			return Math.max(lastModified, file.lastModified());
 		} else {
 			return lastModified;
 		}
@@ -65,7 +65,7 @@
 				ServletContext context = request.getSession().getServletContext();
 				contentType = context.getMimeType(file.getName());
 				response.setContentLength((int) file.length());
-				response.setDateHeader("Last-Modified", file.lastModified());
+				response.setDateHeader("Last-Modified", Math.max(lastModified, file.lastModified()));
 				is = new FileInputStream(file);
 			} else {
 				// default logo
@@ -76,6 +76,7 @@
 				contentType = "image/png";
 			}
 			response.setContentType(contentType);
+			response.setHeader("Cache-Control", "public, max-age=3600, must-revalidate");
 			OutputStream os = response.getOutputStream();
 			byte[] buf = new byte[4096];
 			int bytesRead = is.read(buf);
@@ -87,7 +88,9 @@
 		} catch (Exception e) {
 			e.printStackTrace();
 		} finally {
-			is.close();
+			if(is != null) {
+				is.close();
+			}
 		}
 	}
 }

--
Gitblit v1.9.1