Repository: wicket Updated Branches: refs/heads/wicket-6.x ed9cbb23a -> 01b7de0c6
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/01b7de0c Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/01b7de0c Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/01b7de0c Branch: refs/heads/wicket-6.x Commit: 01b7de0c68c1f2e8e7be7c04676c59c89f1ffb73 Parents: ed9cbb2 Author: Martin Tzvetanov Grigorov <[email protected]> Authored: Sun Jan 10 20:03:28 2016 +0100 Committer: Martin Tzvetanov Grigorov <[email protected]> Committed: Sun Jan 10 20:11:44 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/01b7de0c/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(); } }
