You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by mg...@apache.org on 2016/01/10 20:05:06 UTC

[2/2] wicket git commit: WICKET-6064 WebSocketResponse.sendRedirect could be supported with ...

WICKET-6064 WebSocketResponse.sendRedirect could be supported with <ajax-response><redirect>...</></>


Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/e8b3f464
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/e8b3f464
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/e8b3f464

Branch: refs/heads/master
Commit: e8b3f46430c6c4182530fd7e920c2deff48bfeee
Parents: 3fdc275
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Sun Jan 10 20:03:28 2016 +0100
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Sun Jan 10 20:03:28 2016 +0100

----------------------------------------------------------------------
 .../protocol/ws/api/WebSocketResponse.java       | 19 +++++++++++--------
 1 file changed, 11 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/e8b3f464/wicket-native-websocket/wicket-native-websocket-core/src/main/java/org/apache/wicket/protocol/ws/api/WebSocketResponse.java
----------------------------------------------------------------------
diff --git a/wicket-native-websocket/wicket-native-websocket-core/src/main/java/org/apache/wicket/protocol/ws/api/WebSocketResponse.java b/wicket-native-websocket/wicket-native-websocket-core/src/main/java/org/apache/wicket/protocol/ws/api/WebSocketResponse.java
index fee187f..1296325 100644
--- a/wicket-native-websocket/wicket-native-websocket-core/src/main/java/org/apache/wicket/protocol/ws/api/WebSocketResponse.java
+++ b/wicket-native-websocket/wicket-native-websocket-core/src/main/java/org/apache/wicket/protocol/ws/api/WebSocketResponse.java
@@ -47,6 +47,8 @@ public class WebSocketResponse extends WebResponse
 
 	private ByteArrayOutputStream binary;
 
+	private boolean isRedirect = false;
+
 	public WebSocketResponse(final IWebSocketConnection conn)
 	{
 		this.connection = conn;
@@ -109,10 +111,7 @@ public class WebSocketResponse extends WebResponse
 	@Override
 	public void reset()
 	{
-		if (text != null)
-		{
-			text = null;
-		}
+		text = null;
 		if (binary != null)
 		{
 			try
@@ -124,6 +123,7 @@ public class WebSocketResponse extends WebResponse
 			}
 			binary = null;
 		}
+		isRedirect = false;
 		super.reset();
 	}
 
@@ -200,24 +200,27 @@ public class WebSocketResponse extends WebResponse
 	@Override
 	public String encodeRedirectURL(CharSequence url)
 	{
-		throw new UnsupportedOperationException();
+		return url.toString();
 	}
 
 	@Override
 	public void sendRedirect(String url)
 	{
-		throw new UnsupportedOperationException();
+		isRedirect = true;
+		url = encodeRedirectURL(url);
+
+		String ajaxRedirect = "<ajax-response><redirect><![CDATA[" + url + "]]></redirect></ajax-response>";
+		write(ajaxRedirect);
 	}
 
 	@Override
 	public boolean isRedirect()
 	{
-		return false;
+		return isRedirect;
 	}
 
 	@Override
 	public void flush()
 	{
-		throw new UnsupportedOperationException();
 	}
 }