From 21ca9d90c6f3b29e4574fe143bbfa7e0ef0b0514 Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Tue, 14 Jan 2014 10:07:13 -0500 Subject: [PATCH] Updated contributors list --- src/main/java/com/gitblit/wicket/pages/RawPage.java | 36 +++++++++++++++++++++++++----------- 1 files changed, 25 insertions(+), 11 deletions(-) diff --git a/src/main/java/com/gitblit/wicket/pages/RawPage.java b/src/main/java/com/gitblit/wicket/pages/RawPage.java index 5026871..ac4af6d 100644 --- a/src/main/java/com/gitblit/wicket/pages/RawPage.java +++ b/src/main/java/com/gitblit/wicket/pages/RawPage.java @@ -31,7 +31,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.gitblit.GitBlit; import com.gitblit.Keys; import com.gitblit.models.RepositoryModel; import com.gitblit.models.UserModel; @@ -43,6 +42,8 @@ public class RawPage extends SessionPage { private final Logger logger = LoggerFactory.getLogger(getClass().getSimpleName()); + + String contentType; public RawPage(final PageParameters params) { super(params); @@ -64,11 +65,11 @@ final String repositoryName = WicketUtils.getRepositoryName(params); final String objectId = WicketUtils.getObject(params); final String blobPath = WicketUtils.getPath(params); - String[] encodings = GitBlit.getEncodings(); + String[] encodings = getEncodings(); GitBlitWebSession session = GitBlitWebSession.get(); UserModel user = session.getUser(); - RepositoryModel model = GitBlit.self().getRepositoryModel(user, repositoryName); + RepositoryModel model = app().repositories().getRepositoryModel(user, repositoryName); if (model == null) { // user does not have permission error(getString("gb.canNotLoadRepository") + " " + repositoryName); @@ -76,7 +77,7 @@ return; } - Repository r = GitBlit.self().getRepository(repositoryName); + Repository r = app().repositories().getRepository(repositoryName); if (r == null) { error(getString("gb.canNotLoadRepository") + " " + repositoryName); redirectToInterceptPage(new RepositoriesPage()); @@ -86,7 +87,8 @@ if (StringUtils.isEmpty(blobPath)) { // objectid referenced raw view byte [] binary = JGitUtils.getByteContent(r, objectId); - response.setContentType("application/octet-stream"); + contentType = "application/octet-stream"; + response.setContentType(contentType); response.setContentLength(binary.length); try { response.getOutputStream().write(binary); @@ -109,10 +111,10 @@ // Map the extensions to types Map<String, Integer> map = new HashMap<String, Integer>(); - for (String ext : GitBlit.getStrings(Keys.web.imageExtensions)) { + for (String ext : app().settings().getStrings(Keys.web.imageExtensions)) { map.put(ext.toLowerCase(), 2); } - for (String ext : GitBlit.getStrings(Keys.web.binaryExtensions)) { + for (String ext : app().settings().getStrings(Keys.web.binaryExtensions)) { map.put(ext.toLowerCase(), 3); } @@ -125,7 +127,8 @@ case 2: // image blobs byte[] image = JGitUtils.getByteContent(r, commit.getTree(), blobPath, true); - response.setContentType("image/" + extension.toLowerCase()); + contentType = "image/" + extension.toLowerCase(); + response.setContentType(contentType); response.setContentLength(image.length); try { response.getOutputStream().write(image); @@ -136,8 +139,9 @@ case 3: // binary blobs (download) byte[] binary = JGitUtils.getByteContent(r, commit.getTree(), blobPath, true); + contentType = "application/octet-stream"; response.setContentLength(binary.length); - response.setContentType("application/octet-stream; charset=UTF-8"); + response.setContentType(contentType); try { WebRequest request = (WebRequest) requestCycle.getRequest(); @@ -168,7 +172,8 @@ // plain text String content = JGitUtils.getStringContent(r, commit.getTree(), blobPath, encodings); - response.setContentType("text/plain; charset=UTF-8"); + contentType = "text/plain; charset=UTF-8"; + response.setContentType(contentType); try { response.getOutputStream().write(content.getBytes("UTF-8")); } catch (Exception e) { @@ -180,7 +185,8 @@ // plain text String content = JGitUtils.getStringContent(r, commit.getTree(), blobPath, encodings); - response.setContentType("text/plain; charset=UTF-8"); + contentType = "text/plain; charset=UTF-8"; + response.setContentType(contentType); try { response.getOutputStream().write(content.getBytes("UTF-8")); } catch (Exception e) { @@ -192,4 +198,12 @@ } }); } + + @Override + protected void setHeaders(WebResponse response) { + super.setHeaders(response); + if (!StringUtils.isEmpty(contentType)) { + response.setContentType(contentType); + } + } } -- Gitblit v1.9.1