From cefac9ec81878dfdbbcb0d13843cb2c4430786bc Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Mon, 08 Sep 2014 16:22:42 -0400
Subject: [PATCH] Fix value discarding bug in SafeTextModel
---
src/main/java/com/gitblit/servlet/PagesServlet.java | 35 ++++++++++++++++++++++++++++++++++-
1 files changed, 34 insertions(+), 1 deletions(-)
diff --git a/src/main/java/com/gitblit/servlet/PagesServlet.java b/src/main/java/com/gitblit/servlet/PagesServlet.java
index 777d3a8..defd9e6 100644
--- a/src/main/java/com/gitblit/servlet/PagesServlet.java
+++ b/src/main/java/com/gitblit/servlet/PagesServlet.java
@@ -15,9 +15,19 @@
*/
package com.gitblit.servlet;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.Date;
+
+import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.eclipse.jgit.lib.Repository;
+import org.eclipse.jgit.revwalk.RevCommit;
import com.gitblit.Constants;
+import com.gitblit.utils.JGitUtils;
/**
* Serves the content of a gh-pages branch.
@@ -25,7 +35,7 @@
* @author James Moger
*
*/
-public class PagesServlet extends BranchServlet {
+public class PagesServlet extends RawServlet {
private static final long serialVersionUID = 1L;
@@ -67,4 +77,27 @@
protected boolean renderIndex() {
return true;
}
+
+ @Override
+ protected void setContentType(HttpServletResponse response, String contentType) {
+ response.setContentType(contentType);;
+ }
+
+ @Override
+ protected boolean streamFromRepo(HttpServletRequest request, HttpServletResponse response, Repository repository,
+ RevCommit commit, String requestedPath) throws IOException {
+
+ response.setDateHeader("Last-Modified", JGitUtils.getCommitDate(commit).getTime());
+ response.setHeader("Cache-Control", "public, max-age=3600, must-revalidate");
+
+ return super.streamFromRepo(request, response, repository, commit, requestedPath);
+ }
+
+ @Override
+ protected void sendContent(HttpServletResponse response, Date date, InputStream is) throws ServletException, IOException {
+ response.setDateHeader("Last-Modified", date.getTime());
+ response.setHeader("Cache-Control", "public, max-age=3600, must-revalidate");
+
+ super.sendContent(response, date, is);
+ }
}
--
Gitblit v1.9.1