From b4fbe4fd4430d644d60e8ffcb90370c75a84e540 Mon Sep 17 00:00:00 2001 From: James Moger Date: Mon, 24 Nov 2014 09:34:27 -0500 Subject: Ensure that pretty-printed files are served as text/plain in Raw servlet --- src/main/java/com/gitblit/servlet/RawServlet.java | 15 ++++++++++++--- 1 file 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 dac38f36..16d1a977 100644 --- a/src/main/java/com/gitblit/servlet/RawServlet.java +++ b/src/main/java/com/gitblit/servlet/RawServlet.java @@ -234,9 +234,18 @@ public class RawServlet extends HttpServlet { // 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 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 -- cgit v1.2.3