You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@struts.apache.org by lu...@apache.org on 2012/09/26 21:27:42 UTC
svn commit: r1390692 - in /struts/struts2/trunk/core/src:
main/java/org/apache/struts2/dispatcher/ServletRedirectResult.java
test/java/org/apache/struts2/dispatcher/ServletRedirectResultTest.java
Author: lukaszlenart
Date: Wed Sep 26 19:27:41 2012
New Revision: 1390692
URL: http://svn.apache.org/viewvc?rev=1390692&view=rev
Log:
WW-3879 Changes logic when the location is path and when full url address
Modified:
struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/ServletRedirectResult.java
struts/struts2/trunk/core/src/test/java/org/apache/struts2/dispatcher/ServletRedirectResultTest.java
Modified: struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/ServletRedirectResult.java
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/ServletRedirectResult.java?rev=1390692&r1=1390691&r2=1390692&view=diff
==============================================================================
--- struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/ServletRedirectResult.java (original)
+++ struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/ServletRedirectResult.java Wed Sep 26 19:27:41 2012
@@ -250,11 +250,13 @@ public class ServletRedirectResult exten
}
- private static boolean isPathUrl(String url) {
+ private boolean isPathUrl(String url) {
// filter out "http:", "https:", "mailto:", "file:", "ftp:"
- // since the only valid places for : in URL's is before the path specification
- // either before the port, or after the protocol
- return (url.indexOf(':') == -1);
+ return !url.startsWith("http:")
+ && !url.startsWith("https:")
+ && !url.startsWith("mailto:")
+ && !url.startsWith("file:")
+ && !url.startsWith("ftp:");
}
/**
Modified: struts/struts2/trunk/core/src/test/java/org/apache/struts2/dispatcher/ServletRedirectResultTest.java
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/test/java/org/apache/struts2/dispatcher/ServletRedirectResultTest.java?rev=1390692&r1=1390691&r2=1390692&view=diff
==============================================================================
--- struts/struts2/trunk/core/src/test/java/org/apache/struts2/dispatcher/ServletRedirectResultTest.java (original)
+++ struts/struts2/trunk/core/src/test/java/org/apache/struts2/dispatcher/ServletRedirectResultTest.java Wed Sep 26 19:27:41 2012
@@ -79,6 +79,20 @@ public class ServletRedirectResultTest e
}
}
+ public void testFullUrlRedirect() {
+ view.setLocation("http://localhost/bar/foo.jsp");
+ responseMock.expect("sendRedirect", C.args(C.eq("http://localhost/bar/foo.jsp")));
+
+ try {
+ view.execute(ai);
+ requestMock.verify();
+ responseMock.verify();
+ } catch (Exception e) {
+ e.printStackTrace();
+ fail();
+ }
+ }
+
public void testAbsoluteRedirect303() {
view.setLocation("/bar/foo.jsp");
view.setStatusCode(303);