This is an automated email from the git hooks/post-receive script. sylvestre pushed a commit to branch master in repository jscover.
commit bac4ffe30e911a75379b9fdbd9283b2122ffea18 Author: tntim96 <[email protected]> Date: Sat Jul 26 15:24:01 2014 +1000 Decode URL path for proxy mode --- History.md | 4 ++++ src/main/java/jscover/server/HttpRequest.java | 16 ++++++++++------ src/main/java/jscover/util/UriFileTranslatorReg.java | 4 ---- src/test/java/jscover/server/HttpRequestTest.java | 3 ++- 4 files changed, 16 insertions(+), 11 deletions(-) diff --git a/History.md b/History.md index 51e7055..5e5fb52 100644 --- a/History.md +++ b/History.md @@ -1,3 +1,7 @@ +1.0.14 / 2014-??-?? +================== + * Decode URI in proxy mode + 1.0.13 / 2014-07-08 ================== * Fix Java 5 compatibility (https://github.com/tntim96/JSCover/issues/150) diff --git a/src/main/java/jscover/server/HttpRequest.java b/src/main/java/jscover/server/HttpRequest.java index e940fb2..ecfec6d 100644 --- a/src/main/java/jscover/server/HttpRequest.java +++ b/src/main/java/jscover/server/HttpRequest.java @@ -367,13 +367,9 @@ public class HttpRequest { this.headers = headers; try { this.url = new URL(path); - this.path = url.getPath(); + this.path = urlDecode(url.getPath()); } catch (MalformedURLException e) { - try { - path = URLDecoder.decode(path, Charset.defaultCharset().name()); - } catch (UnsupportedEncodingException e1) { - throw new RuntimeException(e1); - } + path = urlDecode(path); int index = path.indexOf("?"); if (index > 0) path = path.substring(0, index); @@ -381,6 +377,14 @@ public class HttpRequest { } } + public static String urlDecode(String path) { + try { + return URLDecoder.decode(path, Charset.defaultCharset().name()); + } catch (UnsupportedEncodingException e) { + throw new RuntimeException(e); + } + } + public String getPath() { return path; } diff --git a/src/main/java/jscover/util/UriFileTranslatorReg.java b/src/main/java/jscover/util/UriFileTranslatorReg.java index c03f4b7..82542fc 100644 --- a/src/main/java/jscover/util/UriFileTranslatorReg.java +++ b/src/main/java/jscover/util/UriFileTranslatorReg.java @@ -360,10 +360,6 @@ public class UriFileTranslatorReg implements UriFileTranslator { return pattern; } - public String getReplacement() { - return replacement; - } - public String convertUriToFile(String uri) { String filePath = pattern.matcher(uri).replaceAll(replacement); logger.log(Level.FINE, "Translated path from ''{0}'' to ''{1}''", new Object[]{uri, filePath}); diff --git a/src/test/java/jscover/server/HttpRequestTest.java b/src/test/java/jscover/server/HttpRequestTest.java index c994da2..d20cd6d 100644 --- a/src/test/java/jscover/server/HttpRequestTest.java +++ b/src/test/java/jscover/server/HttpRequestTest.java @@ -431,6 +431,8 @@ public class HttpRequestTest { assertThat(new HttpRequest("test.js", null, null, 0, null).getRelativePath(), equalTo("test.js")); assertThat(new HttpRequest("/test.js", null, null, 0, null).getRelativePath(), equalTo("test.js")); assertThat(new HttpRequest("/js/test.js", null, null, 0, null).getRelativePath(), equalTo("js/test.js")); + assertThat(new HttpRequest("/js/a%20b.js", null, null, 0, null).getRelativePath(), equalTo("js/a b.js")); + assertThat(new HttpRequest("http://localhost/js/a%20b.js", null, null, 0, null).getRelativePath(), equalTo("js/a b.js")); } @Test @@ -455,5 +457,4 @@ public class HttpRequestTest { assertThat(httpRequest.getOutputStream(), sameInstance(os)); assertThat(httpRequest.getPostIndex(), sameInstance(postIndex)); } - } -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-java/jscover.git _______________________________________________ pkg-java-commits mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-java-commits

