From 0a704fd39ac876fee9bda3a78469209ee9afa4e2 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Thu, 05 Sep 2013 14:09:53 -0400
Subject: [PATCH] Updated binary extensions and Lucene ignore extensions
---
src/main/java/com/gitblit/PagesServlet.java | 22 +++++++++++++++++-----
1 files changed, 17 insertions(+), 5 deletions(-)
diff --git a/src/main/java/com/gitblit/PagesServlet.java b/src/main/java/com/gitblit/PagesServlet.java
index 91f25b7..fc71bc5 100644
--- a/src/main/java/com/gitblit/PagesServlet.java
+++ b/src/main/java/com/gitblit/PagesServlet.java
@@ -18,6 +18,8 @@
import java.io.IOException;
import java.text.MessageFormat;
import java.text.ParseException;
+import java.util.ArrayList;
+import java.util.List;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
@@ -139,7 +141,6 @@
r.close();
return;
}
- response.setDateHeader("Last-Modified", JGitUtils.getCommitDate(commit).getTime());
String [] encodings = GitBlit.getEncodings();
@@ -147,10 +148,18 @@
byte[] content = null;
if (StringUtils.isEmpty(resource)) {
// find resource
- String[] files = { "index.html", "index.htm", "index.mkd" };
- for (String file : files) {
- content = JGitUtils.getStringContent(r, tree, file, encodings)
- .getBytes(Constants.ENCODING);
+ List<String> markdownExtensions = GitBlit.getStrings(Keys.web.markdownExtensions);
+ List<String> extensions = new ArrayList<String>(markdownExtensions.size() + 2);
+ extensions.add("html");
+ extensions.add("htm");
+ extensions.addAll(markdownExtensions);
+ for (String ext : extensions){
+ String file = "index." + ext;
+ String stringContent = JGitUtils.getStringContent(r, tree, file, encodings);
+ if(stringContent == null){
+ continue;
+ }
+ content = stringContent.getBytes(Constants.ENCODING);
if (content != null) {
resource = file;
// assume text/html unless the servlet container
@@ -209,12 +218,15 @@
if (resource.endsWith(ext)) {
String mkd = new String(content, Constants.ENCODING);
content = MarkdownUtils.transformMarkdown(mkd).getBytes(Constants.ENCODING);
+ response.setContentType("text/html; charset=" + Constants.ENCODING);
break;
}
}
try {
// output the content
+ response.setHeader("Cache-Control", "public, max-age=3600, must-revalidate");
+ response.setDateHeader("Last-Modified", JGitUtils.getCommitDate(commit).getTime());
response.getOutputStream().write(content);
response.flushBuffer();
} catch (Throwable t) {
--
Gitblit v1.9.1