Repository: wicket Updated Branches: refs/heads/wicket-7.x 3ae55ea92 -> e0502b880
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/e0502b88 Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/e0502b88 Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/e0502b88 Branch: refs/heads/wicket-7.x Commit: e0502b8805df634237f421a9873db8e8b637909f Parents: 3ae55ea 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:06:05 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/e0502b88/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(); } }
