diff --git a/jetty-websocket/javax-websocket-server-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/server/WebSocketConfiguration.java b/jetty-websocket/javax-websocket-server-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/server/WebSocketConfiguration.java index 75d9ede2d26..564666b73a6 100644 --- a/jetty-websocket/javax-websocket-server-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/server/WebSocketConfiguration.java +++ b/jetty-websocket/javax-websocket-server-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/server/WebSocketConfiguration.java @@ -49,7 +49,11 @@ public class WebSocketConfiguration extends AbstractConfiguration String pathSpec = "/*"; context.addFilter(fholder,pathSpec,EnumSet.of(DispatcherType.REQUEST)); LOG.debug("Adding {} mapped to {} to {}",filter,pathSpec,context); + + // Store reference to the WebSocketUpgradeFilter + context.setAttribute(WebSocketUpgradeFilter.class.getName(),filter); + // Store reference to the ServerContainer ServerContainer container = new ServerContainer(filter); filter.setWebSocketServerFactoryListener(container); context.setAttribute(JAVAX_WEBSOCKET_SERVER_CONTAINER,container); diff --git a/jetty-websocket/websocket-server/src/main/java/org/eclipse/jetty/websocket/server/WebSocketUpgradeFilter.java b/jetty-websocket/websocket-server/src/main/java/org/eclipse/jetty/websocket/server/WebSocketUpgradeFilter.java index 581a296e9e8..143a5ee4076 100644 --- a/jetty-websocket/websocket-server/src/main/java/org/eclipse/jetty/websocket/server/WebSocketUpgradeFilter.java +++ b/jetty-websocket/websocket-server/src/main/java/org/eclipse/jetty/websocket/server/WebSocketUpgradeFilter.java @@ -64,7 +64,7 @@ public class WebSocketUpgradeFilter implements Filter, MappedWebSocketCreator, D { factory.cleanup(); } - + @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { @@ -138,6 +138,11 @@ public class WebSocketUpgradeFilter implements Filter, MappedWebSocketCreator, D pathmap.dump(out,indent + " "); } + public WebSocketServerFactory getFactory() + { + return factory; + } + @ManagedAttribute(value = "mappings", readonly = true) @Override public PathMappings getMappings()