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();