From b549410932465abea059432fa6786ad1c0ecc698 Mon Sep 17 00:00:00 2001 From: Joakim Erdfelt Date: Thu, 25 Jul 2013 09:43:47 -0700 Subject: [PATCH] JSR-356 - Making WebSocketUpgradeFilter an attribute in the ServletContext --- .../websocket/jsr356/server/WebSocketConfiguration.java | 4 ++++ .../jetty/websocket/server/WebSocketUpgradeFilter.java | 7 ++++++- 2 files changed, 10 insertions(+), 1 deletion(-) 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()