From 95fca0a762390b834b788a09b1b7b0810d0853d3 Mon Sep 17 00:00:00 2001 From: Sebastian Sdorra Date: Sun, 18 Sep 2011 17:13:30 +0200 Subject: [PATCH] added Content-Disposition header to diff --- .../rest/resources/RepositoryResource.java | 28 ++++++++++++++++--- 1 file changed, 24 insertions(+), 4 deletions(-) diff --git a/scm-webapp/src/main/java/sonia/scm/api/rest/resources/RepositoryResource.java b/scm-webapp/src/main/java/sonia/scm/api/rest/resources/RepositoryResource.java index 50800ae533..073a168eb0 100644 --- a/scm-webapp/src/main/java/sonia/scm/api/rest/resources/RepositoryResource.java +++ b/scm-webapp/src/main/java/sonia/scm/api/rest/resources/RepositoryResource.java @@ -314,7 +314,8 @@ public class RepositoryResource { output = new BrowserStreamingOutput(browser, revision, path); - String contentDispositionName = getContentDispositionName(path); + String contentDispositionName = + getContentDispositionNameFromPath(path); response = Response.ok(output).header("Content-Disposition", contentDispositionName).build(); @@ -372,8 +373,13 @@ public class RepositoryResource if (diffViewer != null) { + String name = + repository.getName().concat("-").concat(revision).concat(".diff"); + String contentDispositionName = getContentDispositionName(name); + response = Response.ok(new DiffStreamingOutput(diffViewer, revision, - path)).build(); + path)).header("Content-Disposition", + contentDispositionName).build(); } else { @@ -519,6 +525,20 @@ public class RepositoryResource //~--- get methods ---------------------------------------------------------- + /** + * Method description + * + * + * + * @param name + * + * @return + */ + private String getContentDispositionName(String name) + { + return "attachment; filename=\"".concat(name).concat("\""); + } + /** * Method description * @@ -527,7 +547,7 @@ public class RepositoryResource * * @return */ - private String getContentDispositionName(String path) + private String getContentDispositionNameFromPath(String path) { String name = path; int index = path.lastIndexOf("/"); @@ -537,7 +557,7 @@ public class RepositoryResource name = path.substring(0, index); } - return "attachment; filename=\"".concat(name).concat("\""); + return getContentDispositionName(name); } /**