From b4fbe4fd4430d644d60e8ffcb90370c75a84e540 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Mon, 24 Nov 2014 09:34:27 -0500
Subject: [PATCH] Ensure that pretty-printed files are served as text/plain in Raw servlet

---
 src/main/java/com/gitblit/servlet/RawServlet.java |   15 ++++++++++++---
 1 files changed, 12 insertions(+), 3 deletions(-)

diff --git a/src/main/java/com/gitblit/servlet/RawServlet.java b/src/main/java/com/gitblit/servlet/RawServlet.java
index dac38f3..16d1a97 100644
--- a/src/main/java/com/gitblit/servlet/RawServlet.java
+++ b/src/main/java/com/gitblit/servlet/RawServlet.java
@@ -234,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

--
Gitblit v1.9.1