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 2013/07/11 14:06:31 UTC

[3/3] git commit: WICKET-5266 Issue with TomcatWebSocketFilter and Spring Security

WICKET-5266 Issue with TomcatWebSocketFilter and Spring Security


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

Branch: refs/heads/master
Commit: 2fece4fec7e5178ae4391d7d6a74cb9d22722d60
Parents: a580888
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Thu Jul 11 15:05:57 2013 +0300
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Thu Jul 11 15:05:57 2013 +0300

----------------------------------------------------------------------
 .../wicket/protocol/ws/tomcat7/Tomcat7WebSocketFilter.java    | 7 +++++++
 1 file changed, 7 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/2fece4fe/wicket-experimental/wicket-native-websocket/wicket-native-websocket-tomcat/src/main/java/org/apache/wicket/protocol/ws/tomcat7/Tomcat7WebSocketFilter.java
----------------------------------------------------------------------
diff --git a/wicket-experimental/wicket-native-websocket/wicket-native-websocket-tomcat/src/main/java/org/apache/wicket/protocol/ws/tomcat7/Tomcat7WebSocketFilter.java b/wicket-experimental/wicket-native-websocket/wicket-native-websocket-tomcat/src/main/java/org/apache/wicket/protocol/ws/tomcat7/Tomcat7WebSocketFilter.java
index 6d88d91..8057ddc 100644
--- a/wicket-experimental/wicket-native-websocket/wicket-native-websocket-tomcat/src/main/java/org/apache/wicket/protocol/ws/tomcat7/Tomcat7WebSocketFilter.java
+++ b/wicket-experimental/wicket-native-websocket/wicket-native-websocket-tomcat/src/main/java/org/apache/wicket/protocol/ws/tomcat7/Tomcat7WebSocketFilter.java
@@ -23,6 +23,7 @@ import java.security.NoSuchAlgorithmException;
 import javax.servlet.FilterConfig;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletRequestWrapper;
 import javax.servlet.http.HttpServletResponse;
 
 import org.apache.catalina.connector.RequestFacade;
@@ -75,6 +76,12 @@ public class Tomcat7WebSocketFilter extends AbstractUpgradeFilter
 		// Small hack until the Servlet API provides a way to do this.
 		TomcatWebSocketProcessor webSocketHandler = new TomcatWebSocketProcessor(req, application);
 		TomcatWebSocketProcessor.TomcatWebSocket tomcatWebSocket = webSocketHandler.new TomcatWebSocket();
+
+		// the request can be a wrapper from application servlet filters
+		while (req instanceof HttpServletRequestWrapper)
+		{
+			req = (HttpServletRequest) ((HttpServletRequestWrapper) req).getRequest();
+		}
 		((RequestFacade) req).doUpgrade(tomcatWebSocket);
 		return true;
 	}