From d49ab99ef5820e511fd3edbd5e96de96b804fad2 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Thu, 12 Mar 2015 17:59:46 -0400
Subject: [PATCH] Update Jetty to 9.2.10
---
src/main/java/com/gitblit/servlet/RawServlet.java | 33 ++++++++++++++++++++++++---------
1 files changed, 24 insertions(+), 9 deletions(-)
diff --git a/src/main/java/com/gitblit/servlet/RawServlet.java b/src/main/java/com/gitblit/servlet/RawServlet.java
index 8f30bfb..16d1a97 100644
--- a/src/main/java/com/gitblit/servlet/RawServlet.java
+++ b/src/main/java/com/gitblit/servlet/RawServlet.java
@@ -28,8 +28,6 @@
import java.util.Map;
import java.util.TreeMap;
-import com.google.inject.Inject;
-import com.google.inject.Singleton;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
@@ -58,6 +56,8 @@
import com.gitblit.utils.JGitUtils;
import com.gitblit.utils.MarkdownUtils;
import com.gitblit.utils.StringUtils;
+import com.google.inject.Inject;
+import com.google.inject.Singleton;
/**
* Serves the content of a branch.
@@ -108,9 +108,8 @@
branch = Repository.shortenRefName(branch).replace('/', fsc);
}
- String encodedPath = path == null ? "" : path.replace(' ', '-');
- encodedPath = encodedPath.replace('/', fsc);
- return baseURL + Constants.RAW_PATH + repository + "/" + (branch == null ? "" : (branch + "/" + (path == null ? "" : encodedPath)));
+ String encodedPath = path == null ? "" : path.replace('/', fsc);
+ return baseURL + Constants.RAW_PATH + repository + "/" + (branch == null ? "" : (branch + "/" + encodedPath));
}
protected String getBranch(String repository, HttpServletRequest request) {
@@ -235,9 +234,18 @@
// requested a specific resource
String file = StringUtils.getLastPathElement(requestedPath);
try {
- // query Tika for the content type
- Tika tika = new Tika();
- String contentType = tika.detect(file);
+ String contentType;
+
+ List<String> exts = runtimeManager.getSettings().getStrings(Keys.web.prettyPrintExtensions);
+ String ext = StringUtils.getFileExtension(file).toLowerCase();
+ if (exts.contains(ext)) {
+ // extension is a registered text type for pretty printing
+ contentType = "text/plain";
+ } else {
+ // query Tika for the content type
+ Tika tika = new Tika();
+ contentType = tika.detect(file);
+ }
if (contentType == null) {
// ask the container for the content type
@@ -249,7 +257,7 @@
}
}
- if (isTextType(contentType)) {
+ if (isTextType(contentType) || isTextDataType(contentType)) {
// load, interpret, and serve text content as UTF-8
String [] encodings = runtimeManager.getSettings().getStrings(Keys.web.blobEncodings).toArray(new String[0]);
@@ -383,6 +391,13 @@
return false;
}
+ protected boolean isTextDataType(String contentType) {
+ if ("image/svg+xml".equals(contentType)) {
+ return true;
+ }
+ return false;
+ }
+
/**
* Override all text types to be plain text.
*
--
Gitblit v1.9.1