You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by iv...@apache.org on 2011/07/09 20:13:29 UTC
svn commit: r1144713 - in
/wicket/trunk/wicket-core/src/main/java/org/apache/wicket:
mock/MockWebResponse.java protocol/http/BufferedWebResponse.java
protocol/http/HeaderBufferingWebResponse.java
protocol/http/servlet/ServletWebResponse.java
Author: ivaynberg
Date: Sat Jul 9 18:13:29 2011
New Revision: 1144713
URL: http://svn.apache.org/viewvc?rev=1144713&view=rev
Log:
break out encodeRedirectURL method so its easier to override redirect url encoding
Modified:
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/mock/MockWebResponse.java
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/protocol/http/BufferedWebResponse.java
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/protocol/http/HeaderBufferingWebResponse.java
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/protocol/http/servlet/ServletWebResponse.java
Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/mock/MockWebResponse.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/mock/MockWebResponse.java?rev=1144713&r1=1144712&r2=1144713&view=diff
==============================================================================
--- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/mock/MockWebResponse.java (original)
+++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/mock/MockWebResponse.java Sat Jul 9 18:13:29 2011
@@ -58,7 +58,7 @@ public class MockWebResponse extends Web
/** current octets in response body */
private ByteArrayOutputStream binaryResponse;
-
+
/** http response status */
private Integer status;
@@ -185,9 +185,9 @@ public class MockWebResponse extends Web
* set content type if it is specified
*
* @param name
- * header name
+ * header name
* @param value
- * header value
+ * header value
*/
private void internalSetContentType(String name, String value)
{
@@ -249,6 +249,12 @@ public class MockWebResponse extends Web
}
@Override
+ public String encodeRedirectURL(CharSequence url)
+ {
+ return url.toString();
+ }
+
+ @Override
public void write(CharSequence sequence)
{
if (binaryResponse != null)
Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/protocol/http/BufferedWebResponse.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/protocol/http/BufferedWebResponse.java?rev=1144713&r1=1144712&r2=1144713&view=diff
==============================================================================
--- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/protocol/http/BufferedWebResponse.java (original)
+++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/protocol/http/BufferedWebResponse.java Sat Jul 9 18:13:29 2011
@@ -90,6 +90,19 @@ public class BufferedWebResponse extends
}
}
+ @Override
+ public String encodeRedirectURL(CharSequence url)
+ {
+ if (originalResponse != null)
+ {
+ return originalResponse.encodeRedirectURL(url);
+ }
+ else
+ {
+ return url != null ? url.toString() : null;
+ }
+ }
+
private static abstract class Action implements Comparable<Action>
{
protected abstract void invoke(WebResponse response);
Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/protocol/http/HeaderBufferingWebResponse.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/protocol/http/HeaderBufferingWebResponse.java?rev=1144713&r1=1144712&r2=1144713&view=diff
==============================================================================
--- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/protocol/http/HeaderBufferingWebResponse.java (original)
+++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/protocol/http/HeaderBufferingWebResponse.java Sat Jul 9 18:13:29 2011
@@ -162,6 +162,12 @@ class HeaderBufferingWebResponse extends
}
@Override
+ public String encodeRedirectURL(CharSequence url)
+ {
+ return originalResponse.encodeRedirectURL(url);
+ }
+
+ @Override
public void write(CharSequence sequence)
{
writeBuffered();
Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/protocol/http/servlet/ServletWebResponse.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/protocol/http/servlet/ServletWebResponse.java?rev=1144713&r1=1144712&r2=1144713&view=diff
==============================================================================
--- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/protocol/http/servlet/ServletWebResponse.java (original)
+++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/protocol/http/servlet/ServletWebResponse.java Sat Jul 9 18:13:29 2011
@@ -213,15 +213,15 @@ public class ServletWebResponse extends
Url append = Url.parse(url, charset);
current.concatSegments(append.getSegments());
Url result = new Url(current.getSegments(), append.getQueryParameters());
-
+
String path = result.toString();
-
+
// replace redirect to empty path with '/'
- if(Strings.isEmpty(path))
+ if (Strings.isEmpty(path))
{
path = "/";
}
-
+
return Strings.join("/", getAbsolutePrefix(), httpServletRequest.getContextPath(),
webRequest.getFilterPrefix(), path);
}
@@ -230,13 +230,19 @@ public class ServletWebResponse extends
private boolean redirect = false;
@Override
+ public String encodeRedirectURL(CharSequence url)
+ {
+ return httpServletResponse.encodeRedirectURL(url.toString());
+ }
+
+ @Override
public void sendRedirect(String url)
{
try
{
redirect = true;
url = getAbsoluteURL(url);
- url = httpServletResponse.encodeRedirectURL(url);
+ url = encodeRedirectURL(url);
// wicket redirects should never be cached
disableCaching();