From 0a9f98f0df4519989f5a70f19c6a0c89a6fdb99c Mon Sep 17 00:00:00 2001 From: Rob Winch Date: Mon, 10 Apr 2017 08:54:43 -0500 Subject: [PATCH] Add test to ensure ForwardedHeaderFilter contextPath preserves encoding Add a test to verify that the ForwardedHeaderFilter contextPath override preserves URL encoding as it should. Issue SPR-15422 --- .../web/filter/ForwardedHeaderFilterTests.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/spring-web/src/test/java/org/springframework/web/filter/ForwardedHeaderFilterTests.java b/spring-web/src/test/java/org/springframework/web/filter/ForwardedHeaderFilterTests.java index ec7f7ba0b5..013e75f65d 100644 --- a/spring-web/src/test/java/org/springframework/web/filter/ForwardedHeaderFilterTests.java +++ b/spring-web/src/test/java/org/springframework/web/filter/ForwardedHeaderFilterTests.java @@ -249,6 +249,17 @@ public class ForwardedHeaderFilterTests { assertEquals("/prefix", actual); } + @Test + public void contextPathPreserveEncoding() throws Exception { + this.request.setContextPath("/app%20"); + this.request.setRequestURI("/app%20/path/"); + HttpServletRequest actual = filterAndGetWrappedRequest(); + + assertEquals("/app%20", actual.getContextPath()); + assertEquals("/app%20/path/", actual.getRequestURI()); + assertEquals("http://localhost/app%20/path/", actual.getRequestURL().toString()); + } + @Test public void sendRedirectWithAbsolutePath() throws Exception { this.request.addHeader(X_FORWARDED_PROTO, "https");