You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2013/08/20 01:32:28 UTC
svn commit: r1515664 - in
/tomcat/trunk/java/org/apache/tomcat/websocket/server:
WsHttpUpgradeHandler.java WsServerContainer.java
Author: markt
Date: Mon Aug 19 23:32:28 2013
New Revision: 1515664
URL: http://svn.apache.org/r1515664
Log:
Rework r1515612
Avoid ISE when session is closed.
Modified:
tomcat/trunk/java/org/apache/tomcat/websocket/server/WsHttpUpgradeHandler.java
tomcat/trunk/java/org/apache/tomcat/websocket/server/WsServerContainer.java
Modified: tomcat/trunk/java/org/apache/tomcat/websocket/server/WsHttpUpgradeHandler.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/server/WsHttpUpgradeHandler.java?rev=1515664&r1=1515663&r2=1515664&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/websocket/server/WsHttpUpgradeHandler.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/websocket/server/WsHttpUpgradeHandler.java Mon Aug 19 23:32:28 2013
@@ -128,15 +128,7 @@ public class WsHttpUpgradeHandler implem
sos.setWriteListener(
new WsWriteListener(this, wsRemoteEndpointServer));
ep.onOpen(wsSession, endpointConfig);
- // If onOpen event throws an exception, the session will be closed.
- if (wsSession.isOpen()) {
- webSocketContainer.registerSession(ep, wsSession);
- } else {
- // Have to throw a RuntimeException to signal that init() failed
- // as API offers no other options.
- throw new IllegalStateException(
- sm.getString("wsHttpUpgradeHandler.initFailed"));
- }
+ webSocketContainer.registerSession(ep, wsSession);
} catch (DeploymentException e) {
throw new IllegalArgumentException(e);
} finally {
Modified: tomcat/trunk/java/org/apache/tomcat/websocket/server/WsServerContainer.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/server/WsServerContainer.java?rev=1515664&r1=1515663&r2=1515664&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/websocket/server/WsServerContainer.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/websocket/server/WsServerContainer.java Mon Aug 19 23:32:28 2013
@@ -318,7 +318,8 @@ public class WsServerContainer extends W
@Override
protected void registerSession(Endpoint endpoint, WsSession wsSession) {
super.registerSession(endpoint, wsSession);
- if (wsSession.getUserPrincipal() != null &&
+ if (wsSession.isOpen() &&
+ wsSession.getUserPrincipal() != null &&
wsSession.getHttpSessionId() != null) {
registerAuthenticatedSession(wsSession,
wsSession.getHttpSessionId());
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org