Hi Mark, 2013/12/18 <ma...@apache.org> > > Author: markt > Date: Wed Dec 18 17:29:08 2013 > New Revision: 1552042 > > URL: http://svn.apache.org/r1552042 > Log: > Alternative partial fix for https://issues.apache.org/bugzilla/show_bug.cgi?id=55855. Don't do the expensive 'Is this a WebSocket upgrade request check' if no endpoints have been registered
Will we downport this fix to Tomcat 7? Thanks Violeta > Modified: > tomcat/trunk/java/org/apache/tomcat/websocket/server/WsFilter.java > tomcat/trunk/java/org/apache/tomcat/websocket/server/WsServerContainer.java > > Modified: tomcat/trunk/java/org/apache/tomcat/websocket/server/WsFilter.java > URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/server/WsFilter.java?rev=1552042&r1=1552041&r2=1552042&view=diff > ============================================================================== > --- tomcat/trunk/java/org/apache/tomcat/websocket/server/WsFilter.java (original) > +++ tomcat/trunk/java/org/apache/tomcat/websocket/server/WsFilter.java Wed Dec 18 17:29:08 2013 > @@ -47,7 +47,8 @@ public class WsFilter implements Filter > FilterChain chain) throws IOException, ServletException { > > // This filter only needs to handle WebSocket upgrade requests > - if (!UpgradeUtil.isWebSocketUpgradeRequest(request, response)) { > + if (!sc.areEndpointsRegistered() || > + !UpgradeUtil.isWebSocketUpgradeRequest(request, response)) { > chain.doFilter(request, response); > return; > } > > 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=1552042&r1=1552041&r2=1552042&view=diff > ============================================================================== > --- tomcat/trunk/java/org/apache/tomcat/websocket/server/WsServerContainer.java (original) > +++ tomcat/trunk/java/org/apache/tomcat/websocket/server/WsServerContainer.java Wed Dec 18 17:29:08 2013 > @@ -88,6 +88,7 @@ public class WsServerContainer extends W > private final ConcurrentHashMap<String,Set<WsSession>> authenticatedSessions = > new ConcurrentHashMap<>(); > private final ExecutorService executorService; > + private volatile boolean endpointsRegistered = false; > > WsServerContainer(ServletContext servletContext) { > > @@ -210,6 +211,8 @@ public class WsServerContainer extends W > sm.getString("serverContainer.duplicatePaths", path)); > } > } > + > + endpointsRegistered = true; > } > > > @@ -267,6 +270,11 @@ public class WsServerContainer extends W > } > > > + boolean areEndpointsRegistered() { > + return endpointsRegistered; > + } > + > + > public void doUpgrade(HttpServletRequest request, > HttpServletResponse response, ServerEndpointConfig sec, > Map<String,String> pathParams) > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org > For additional commands, e-mail: dev-h...@tomcat.apache.org >