From 372ed1455f8a85dd2583ec312ec06c638e3534c2 Mon Sep 17 00:00:00 2001 From: Lachlan Date: Mon, 17 Jun 2019 17:12:46 +1000 Subject: [PATCH] Issue #3661 - review of exposed classes in jetty-websocket-server (#3779) * Issue #3661 - review of exposed classes in jetty-websocket-server Signed-off-by: Lachlan Roberts * Issue #3762 - cleanups of jetty-websocket-server Signed-off-by: Lachlan Roberts --- .../jetty/embedded/WebSocketServer.java | 2 +- .../jetty-osgi-boot/jettyhome/etc/jetty.xml | 2 +- .../config/etc/jetty-with-custom-class.xml | 2 +- .../src/test/config/etc/jetty.xml | 2 +- .../websocket/javax/tests/LocalServer.java | 2 +- .../jetty-websocket-server/pom.xml | 6 +- .../src/main/java/module-info.java | 4 +- .../server/JettyServerUpgradeRequest.java | 2 +- .../server/JettyServerUpgradeResponse.java | 2 +- .../server/JettyWebSocketServerContainer.java | 4 +- .../server/JettyWebSocketServlet.java | 3 +- .../server/JettyWebSocketServletFactory.java | 219 ++++++++-------- .../server/WebSocketUpgradeFilter.java | 39 --- .../JettyWebSocketConfiguration.java | 5 +- ...yWebSocketServletContainerInitializer.java | 3 +- .../DelegatedJettyServletUpgradeRequest.java | 235 ------------------ .../JettyServerFrameHandlerFactory.java | 2 +- .../internal/UpgradeResponseAdapter.java | 123 --------- .../javax.servlet.ServletContainerInitializer | 2 +- .../org.eclipse.jetty.webapp.Configuration | 2 +- .../server/browser/BrowserDebugTool.java | 5 +- .../JettyWebSocketExtensionConfigTest.java | 2 +- .../tests/JettyWebSocketFilterTest.java | 2 +- .../tests/JettyWebSocketNegotiationTest.java | 2 +- .../tests/JettyWebSocketServletTest.java | 2 +- .../websocket/tests/SuspendResumeTest.java | 2 +- .../tests/WebSocketServletExamplesTest.java | 2 +- .../websocket/tests/WebSocketStatsTest.java | 2 +- .../tests/client/BadNetworkTest.java | 2 +- .../tests/client/ClientCloseTest.java | 2 +- .../tests/client/ClientConfigTest.java | 2 +- .../tests/client/ClientSessionsTest.java | 2 +- .../tests/client/SlowClientTest.java | 2 +- .../tests/server/ServerCloseTest.java | 2 +- .../tests/server/ServerConfigTest.java | 2 +- .../tests/server/SlowServerTest.java | 2 +- .../websocket/servlet/WebSocketServlet.java | 2 +- .../resources/configurations-addknown-all.xml | 2 +- .../java/com/acme/WebSocketChatServlet.java | 2 +- 39 files changed, 158 insertions(+), 544 deletions(-) delete mode 100644 jetty-websocket/jetty-websocket-server/src/main/java/org/eclipse/jetty/websocket/server/WebSocketUpgradeFilter.java rename jetty-websocket/jetty-websocket-server/src/main/java/org/eclipse/jetty/websocket/server/{ => config}/JettyWebSocketConfiguration.java (95%) rename jetty-websocket/jetty-websocket-server/src/main/java/org/eclipse/jetty/websocket/server/{ => config}/JettyWebSocketServletContainerInitializer.java (95%) delete mode 100644 jetty-websocket/jetty-websocket-server/src/main/java/org/eclipse/jetty/websocket/server/internal/DelegatedJettyServletUpgradeRequest.java rename jetty-websocket/jetty-websocket-server/src/main/java/org/eclipse/jetty/websocket/server/{ => internal}/JettyServerFrameHandlerFactory.java (97%) delete mode 100644 jetty-websocket/jetty-websocket-server/src/main/java/org/eclipse/jetty/websocket/server/internal/UpgradeResponseAdapter.java diff --git a/examples/embedded/src/main/java/org/eclipse/jetty/embedded/WebSocketServer.java b/examples/embedded/src/main/java/org/eclipse/jetty/embedded/WebSocketServer.java index 4f5a51439b6..135fca15323 100644 --- a/examples/embedded/src/main/java/org/eclipse/jetty/embedded/WebSocketServer.java +++ b/examples/embedded/src/main/java/org/eclipse/jetty/embedded/WebSocketServer.java @@ -56,7 +56,7 @@ public class WebSocketServer @Override public void configure(JettyWebSocketServletFactory factory) { - factory.addMapping(factory.parsePathSpec("/"), (req,res)->new EchoSocket()); + factory.addMapping("/", (req,res)->new EchoSocket()); } } diff --git a/jetty-osgi/jetty-osgi-boot/jettyhome/etc/jetty.xml b/jetty-osgi/jetty-osgi-boot/jettyhome/etc/jetty.xml index 2a73c7c88cd..17f38f2776d 100644 --- a/jetty-osgi/jetty-osgi-boot/jettyhome/etc/jetty.xml +++ b/jetty-osgi/jetty-osgi-boot/jettyhome/etc/jetty.xml @@ -95,7 +95,7 @@ org.eclipse.jetty.plus.webapp.EnvConfiguration org.eclipse.jetty.webapp.JmxConfiguration org.eclipse.jetty.osgi.annotations.AnnotationConfiguration - org.eclipse.jetty.websocket.server.JettyWebSocketConfiguration + org.eclipse.jetty.websocket.server.config.JettyWebSocketConfiguration org.eclipse.jetty.websocket.javax.server.JavaxWebSocketConfiguration org.eclipse.jetty.osgi.boot.OSGiWebInfConfiguration org.eclipse.jetty.osgi.boot.OSGiMetaInfConfiguration diff --git a/jetty-osgi/test-jetty-osgi/src/test/config/etc/jetty-with-custom-class.xml b/jetty-osgi/test-jetty-osgi/src/test/config/etc/jetty-with-custom-class.xml index 0417227df6b..be374b6b513 100644 --- a/jetty-osgi/test-jetty-osgi/src/test/config/etc/jetty-with-custom-class.xml +++ b/jetty-osgi/test-jetty-osgi/src/test/config/etc/jetty-with-custom-class.xml @@ -81,7 +81,7 @@ org.eclipse.jetty.plus.webapp.PlusConfiguration org.eclipse.jetty.plus.webapp.EnvConfiguration org.eclipse.jetty.webapp.JmxConfiguration - org.eclipse.jetty.websocket.server.JettyWebSocketConfiguration + org.eclipse.jetty.websocket.server.config.JettyWebSocketConfiguration org.eclipse.jetty.websocket.javax.server.JavaxWebSocketConfiguration org.eclipse.jetty.osgi.annotations.AnnotationConfiguration org.eclipse.jetty.osgi.boot.OSGiWebInfConfiguration diff --git a/jetty-osgi/test-jetty-osgi/src/test/config/etc/jetty.xml b/jetty-osgi/test-jetty-osgi/src/test/config/etc/jetty.xml index 129b6736824..d7b8b2d09bf 100644 --- a/jetty-osgi/test-jetty-osgi/src/test/config/etc/jetty.xml +++ b/jetty-osgi/test-jetty-osgi/src/test/config/etc/jetty.xml @@ -84,7 +84,7 @@ org.eclipse.jetty.plus.webapp.EnvConfiguration org.eclipse.jetty.webapp.JmxConfiguration org.eclipse.jetty.osgi.annotations.AnnotationConfiguration - org.eclipse.jetty.websocket.server.JettyWebSocketConfiguration + org.eclipse.jetty.websocket.server.config.JettyWebSocketConfiguration org.eclipse.jetty.websocket.javax.server.JavaxWebSocketConfiguration org.eclipse.jetty.osgi.boot.OSGiWebInfConfiguration org.eclipse.jetty.osgi.boot.OSGiMetaInfConfiguration diff --git a/jetty-websocket/javax-websocket-tests/src/main/java/org/eclipse/jetty/websocket/javax/tests/LocalServer.java b/jetty-websocket/javax-websocket-tests/src/main/java/org/eclipse/jetty/websocket/javax/tests/LocalServer.java index 153d3027e60..3c14f340cda 100644 --- a/jetty-websocket/javax-websocket-tests/src/main/java/org/eclipse/jetty/websocket/javax/tests/LocalServer.java +++ b/jetty-websocket/javax-websocket-tests/src/main/java/org/eclipse/jetty/websocket/javax/tests/LocalServer.java @@ -273,7 +273,7 @@ public class LocalServer extends ContainerLifeCycle implements LocalFuzzer.Provi } @Override - public FrameHandlerFactory getFactory() + protected FrameHandlerFactory getFactory() { return factory; } diff --git a/jetty-websocket/jetty-websocket-server/pom.xml b/jetty-websocket/jetty-websocket-server/pom.xml index a5ae37ac30e..780031556db 100644 --- a/jetty-websocket/jetty-websocket-server/pom.xml +++ b/jetty-websocket/jetty-websocket-server/pom.xml @@ -72,11 +72,7 @@ true - Websocket Server API - - - org.eclipse.jetty.websocket.server.*;version="${parsedVersion.majorVersion}.${parsedVersion.minorVersion}",org.eclipse.jetty.websocket.server.pathmap.*;version="${parsedVersion.majorVersion}.${parsedVersion.minorVersion}" - + Jetty Websocket Server osgi.extender; filter:="(osgi.extender=osgi.serviceloader.registrar)";resolution:=optional osgi.serviceloader;osgi.serviceloader=org.eclipse.jetty.webapp.Configuration,osgi.serviceloader;osgi.serviceloader=javax.servlet.ServletContainerInitializer diff --git a/jetty-websocket/jetty-websocket-server/src/main/java/module-info.java b/jetty-websocket/jetty-websocket-server/src/main/java/module-info.java index ae59819d87f..689f680ecea 100644 --- a/jetty-websocket/jetty-websocket-server/src/main/java/module-info.java +++ b/jetty-websocket/jetty-websocket-server/src/main/java/module-info.java @@ -19,8 +19,8 @@ import javax.servlet.ServletContainerInitializer; import org.eclipse.jetty.webapp.Configuration; -import org.eclipse.jetty.websocket.server.JettyWebSocketConfiguration; -import org.eclipse.jetty.websocket.server.JettyWebSocketServletContainerInitializer; +import org.eclipse.jetty.websocket.server.config.JettyWebSocketConfiguration; +import org.eclipse.jetty.websocket.server.config.JettyWebSocketServletContainerInitializer; module org.eclipse.jetty.websocket.jetty.server { diff --git a/jetty-websocket/jetty-websocket-server/src/main/java/org/eclipse/jetty/websocket/server/JettyServerUpgradeRequest.java b/jetty-websocket/jetty-websocket-server/src/main/java/org/eclipse/jetty/websocket/server/JettyServerUpgradeRequest.java index ce16747b665..672ce66be00 100644 --- a/jetty-websocket/jetty-websocket-server/src/main/java/org/eclipse/jetty/websocket/server/JettyServerUpgradeRequest.java +++ b/jetty-websocket/jetty-websocket-server/src/main/java/org/eclipse/jetty/websocket/server/JettyServerUpgradeRequest.java @@ -43,7 +43,7 @@ public class JettyServerUpgradeRequest { private ServletUpgradeRequest upgradeRequest; - public JettyServerUpgradeRequest(ServletUpgradeRequest request) + JettyServerUpgradeRequest(ServletUpgradeRequest request) { upgradeRequest = request; } diff --git a/jetty-websocket/jetty-websocket-server/src/main/java/org/eclipse/jetty/websocket/server/JettyServerUpgradeResponse.java b/jetty-websocket/jetty-websocket-server/src/main/java/org/eclipse/jetty/websocket/server/JettyServerUpgradeResponse.java index 8fad4ea6d0f..a5ecc1b0fbc 100644 --- a/jetty-websocket/jetty-websocket-server/src/main/java/org/eclipse/jetty/websocket/server/JettyServerUpgradeResponse.java +++ b/jetty-websocket/jetty-websocket-server/src/main/java/org/eclipse/jetty/websocket/server/JettyServerUpgradeResponse.java @@ -32,7 +32,7 @@ public class JettyServerUpgradeResponse { private ServletUpgradeResponse upgradeResponse; - public JettyServerUpgradeResponse(ServletUpgradeResponse response) + JettyServerUpgradeResponse(ServletUpgradeResponse response) { upgradeResponse = response; } diff --git a/jetty-websocket/jetty-websocket-server/src/main/java/org/eclipse/jetty/websocket/server/JettyWebSocketServerContainer.java b/jetty-websocket/jetty-websocket-server/src/main/java/org/eclipse/jetty/websocket/server/JettyWebSocketServerContainer.java index 156fe27afaa..ef578b228ac 100644 --- a/jetty-websocket/jetty-websocket-server/src/main/java/org/eclipse/jetty/websocket/server/JettyWebSocketServerContainer.java +++ b/jetty-websocket/jetty-websocket-server/src/main/java/org/eclipse/jetty/websocket/server/JettyWebSocketServerContainer.java @@ -42,6 +42,8 @@ import org.eclipse.jetty.websocket.common.WebSocketContainer; import org.eclipse.jetty.websocket.core.FrameHandler; import org.eclipse.jetty.websocket.core.WebSocketComponents; import org.eclipse.jetty.websocket.core.WebSocketException; +import org.eclipse.jetty.websocket.server.config.JettyWebSocketServletContainerInitializer; +import org.eclipse.jetty.websocket.server.internal.JettyServerFrameHandlerFactory; import org.eclipse.jetty.websocket.servlet.FrameHandlerFactory; import org.eclipse.jetty.websocket.servlet.WebSocketMapping; @@ -94,7 +96,7 @@ public class JettyWebSocketServerContainer extends ContainerLifeCycle implements * @param webSocketComponents the {@link WebSocketComponents} instance to use * @param executor the {@link Executor} to use */ - public JettyWebSocketServerContainer(ServletContextHandler contextHandler, WebSocketMapping webSocketMapping, WebSocketComponents webSocketComponents, Executor executor) + JettyWebSocketServerContainer(ServletContextHandler contextHandler, WebSocketMapping webSocketMapping, WebSocketComponents webSocketComponents, Executor executor) { this.webSocketMapping = webSocketMapping; this.webSocketComponents = webSocketComponents; diff --git a/jetty-websocket/jetty-websocket-server/src/main/java/org/eclipse/jetty/websocket/server/JettyWebSocketServlet.java b/jetty-websocket/jetty-websocket-server/src/main/java/org/eclipse/jetty/websocket/server/JettyWebSocketServlet.java index c95a8acc351..707ee267dc9 100644 --- a/jetty-websocket/jetty-websocket-server/src/main/java/org/eclipse/jetty/websocket/server/JettyWebSocketServlet.java +++ b/jetty-websocket/jetty-websocket-server/src/main/java/org/eclipse/jetty/websocket/server/JettyWebSocketServlet.java @@ -18,6 +18,7 @@ package org.eclipse.jetty.websocket.server; +import org.eclipse.jetty.websocket.server.internal.JettyServerFrameHandlerFactory; import org.eclipse.jetty.websocket.servlet.FrameHandlerFactory; import org.eclipse.jetty.websocket.servlet.WebSocketServlet; import org.eclipse.jetty.websocket.servlet.WebSocketServletFactory; @@ -33,7 +34,7 @@ public abstract class JettyWebSocketServlet extends WebSocketServlet } @Override - public FrameHandlerFactory getFactory() + protected FrameHandlerFactory getFactory() { JettyServerFrameHandlerFactory frameHandlerFactory = JettyServerFrameHandlerFactory.getFactory(getServletContext()); diff --git a/jetty-websocket/jetty-websocket-server/src/main/java/org/eclipse/jetty/websocket/server/JettyWebSocketServletFactory.java b/jetty-websocket/jetty-websocket-server/src/main/java/org/eclipse/jetty/websocket/server/JettyWebSocketServletFactory.java index 0f40a81ec99..b00a44e0426 100644 --- a/jetty-websocket/jetty-websocket-server/src/main/java/org/eclipse/jetty/websocket/server/JettyWebSocketServletFactory.java +++ b/jetty-websocket/jetty-websocket-server/src/main/java/org/eclipse/jetty/websocket/server/JettyWebSocketServletFactory.java @@ -22,17 +22,19 @@ import java.time.Duration; import java.util.Set; import org.eclipse.jetty.http.pathmap.PathSpec; +import org.eclipse.jetty.websocket.api.StatusCode; +import org.eclipse.jetty.websocket.api.WebSocketBehavior; +import org.eclipse.jetty.websocket.api.WebSocketPolicy; import org.eclipse.jetty.websocket.servlet.ServletUpgradeRequest; import org.eclipse.jetty.websocket.servlet.ServletUpgradeResponse; import org.eclipse.jetty.websocket.servlet.WebSocketCreator; import org.eclipse.jetty.websocket.servlet.WebSocketServletFactory; - -public class JettyWebSocketServletFactory +public class JettyWebSocketServletFactory implements WebSocketPolicy { private WebSocketServletFactory factory; - public JettyWebSocketServletFactory(WebSocketServletFactory factory) + JettyWebSocketServletFactory(WebSocketServletFactory factory) { this.factory = factory; } @@ -42,81 +44,116 @@ public class JettyWebSocketServletFactory return factory.getExtensionRegistry().getAvailableExtensionNames(); } - public Duration getIdleTimeout() + @Override + public WebSocketBehavior getBehavior() { - return factory.getIdleTimeout(); - } - - public void setIdleTimeout(Duration duration) - { - factory.setIdleTimeout(duration); - } - - public int getInputBufferSize() - { - return factory.getInputBufferSize(); - } - - public void setInputBufferSize(int bufferSize) - { - factory.setInputBufferSize(bufferSize); - } - - public long getMaxFrameSize() - { - return factory.getMaxFrameSize(); - } - - public void setMaxFrameSize(long maxFrameSize) - { - factory.setMaxFrameSize(maxFrameSize); - } - - public long getMaxBinaryMessageSize() - { - return factory.getMaxBinaryMessageSize(); - } - - public void setMaxBinaryMessageSize(long bufferSize) - { - factory.setMaxBinaryMessageSize(bufferSize); - } - - public long getMaxTextMessageSize() - { - return factory.getMaxTextMessageSize(); - } - - public void setMaxTextMessageSize(long bufferSize) - { - factory.setMaxTextMessageSize(bufferSize); - } - - public int getOutputBufferSize() - { - return factory.getOutputBufferSize(); - } - - public void setOutputBufferSize(int bufferSize) - { - factory.setOutputBufferSize(bufferSize); + return WebSocketBehavior.SERVER; } + /** + * If true, frames are automatically fragmented to respect the maximum frame size. + * + * @return whether to automatically fragment incoming WebSocket Frames. + */ public boolean isAutoFragment() { return factory.isAutoFragment(); } + /** + * If set to true, frames are automatically fragmented to respect the maximum frame size. + * + * @param autoFragment whether to automatically fragment incoming WebSocket Frames. + */ public void setAutoFragment(boolean autoFragment) { factory.setAutoFragment(autoFragment); } - public void addMapping(String pathSpec, JettyWebSocketCreator creator) + /** + * The maximum payload size of any WebSocket Frame which can be received. + * + * @return the maximum size of a WebSocket Frame. + */ + public long getMaxFrameSize() { - factory.addMapping(pathSpec, new WrappedCreator(creator)); + return factory.getMaxFrameSize(); } + /** + * The maximum payload size of any WebSocket Frame which can be received. + *

+ * WebSocket Frames over this maximum will result in a close code 1009 {@link StatusCode#MESSAGE_TOO_LARGE} + *

+ * + * @param maxFrameSize the maximum allowed size of a WebSocket Frame. + */ + public void setMaxFrameSize(long maxFrameSize) + { + factory.setMaxFrameSize(maxFrameSize); + } + + @Override + public Duration getIdleTimeout() + { + return factory.getIdleTimeout(); + } + + @Override + public void setIdleTimeout(Duration duration) + { + factory.setIdleTimeout(duration); + } + + @Override + public int getInputBufferSize() + { + return factory.getInputBufferSize(); + } + + @Override + public void setInputBufferSize(int bufferSize) + { + factory.setInputBufferSize(bufferSize); + } + + @Override + public long getMaxBinaryMessageSize() + { + return factory.getMaxBinaryMessageSize(); + } + + @Override + public void setMaxBinaryMessageSize(long bufferSize) + { + factory.setMaxBinaryMessageSize(bufferSize); + } + + @Override + public long getMaxTextMessageSize() + { + return factory.getMaxTextMessageSize(); + } + + @Override + public void setMaxTextMessageSize(long bufferSize) + { + factory.setMaxTextMessageSize(bufferSize); + } + + @Override + public int getOutputBufferSize() + { + return factory.getOutputBufferSize(); + } + + @Override + public void setOutputBufferSize(int bufferSize) + { + factory.setOutputBufferSize(bufferSize); + } + + /** * add a WebSocket mapping to a provided {@link JettyWebSocketCreator}. *

@@ -129,7 +166,7 @@ public class JettyWebSocketServletFactory * @param creator the WebSocketCreator to use * @since 10.0 */ - public void addMapping(PathSpec pathSpec, JettyWebSocketCreator creator) + public void addMapping(String pathSpec, JettyWebSocketCreator creator) { factory.addMapping(pathSpec, new WrappedCreator(creator)); } @@ -160,64 +197,36 @@ public class JettyWebSocketServletFactory * @param pathSpec the pathspec to respond on * @return the websocket creator if path spec exists, or null */ - public JettyWebSocketCreator getMapping(PathSpec pathSpec) + public JettyWebSocketCreator getMapping(String pathSpec) { - WebSocketCreator creator = factory.getMapping(pathSpec); + WebSocketCreator creator = factory.getMapping(parsePathSpec(pathSpec)); if (creator instanceof WrappedCreator) return ((WrappedCreator)creator).getCreator(); return null; } - /** - * Get the MappedResource for the given target path. - * - * @param target the target path - * @return the MappedResource if matched, or null if not matched. - */ - public JettyWebSocketCreator getMatch(String target) - { - WebSocketCreator creator = factory.getMatch(target); - if (creator instanceof WrappedCreator) - return ((WrappedCreator)creator).getCreator(); - - return null; - } - - - /** - * Parse a PathSpec string into a PathSpec instance. - *

- * Recognized Path Spec syntaxes: - *

- *
- *
/path/to or / or *.ext or servlet|{spec}
- *
Servlet Syntax
- *
^{spec} or regex|{spec}
- *
Regex Syntax
- *
uri-template|{spec}
- *
URI Template (see JSR356 and RFC6570 level 1)
- *
- * - * @param rawSpec the raw path spec as String to parse. - * @return the {@link PathSpec} implementation for the rawSpec - */ - public PathSpec parsePathSpec(String rawSpec) - { - return factory.parsePathSpec(rawSpec); - } - /** * Removes the mapping based on the given path spec. * * @param pathSpec the pathspec to respond on * @return true if underlying mapping were altered, false otherwise */ - public boolean removeMapping(PathSpec pathSpec) + public boolean removeMapping(String pathSpec) { - return factory.removeMapping(pathSpec); + return factory.removeMapping(parsePathSpec(pathSpec)); } + /** + * Parse a PathSpec string into a PathSpec instance. + * + * @param rawSpec the raw path spec as String to parse. + * @return the {@link PathSpec} implementation for the rawSpec + */ + private PathSpec parsePathSpec(String rawSpec) + { + return factory.parsePathSpec(rawSpec); + } private static class WrappedCreator implements WebSocketCreator { diff --git a/jetty-websocket/jetty-websocket-server/src/main/java/org/eclipse/jetty/websocket/server/WebSocketUpgradeFilter.java b/jetty-websocket/jetty-websocket-server/src/main/java/org/eclipse/jetty/websocket/server/WebSocketUpgradeFilter.java deleted file mode 100644 index 251ec7cb8c2..00000000000 --- a/jetty-websocket/jetty-websocket-server/src/main/java/org/eclipse/jetty/websocket/server/WebSocketUpgradeFilter.java +++ /dev/null @@ -1,39 +0,0 @@ -// -// ======================================================================== -// Copyright (c) 1995-2019 Mort Bay Consulting Pty. Ltd. -// ------------------------------------------------------------------------ -// All rights reserved. This program and the accompanying materials -// are made available under the terms of the Eclipse Public License v1.0 -// and Apache License v2.0 which accompanies this distribution. -// -// The Eclipse Public License is available at -// http://www.eclipse.org/legal/epl-v10.html -// -// The Apache License v2.0 is available at -// http://www.opensource.org/licenses/apache2.0.php -// -// You may elect to redistribute this code under either of these licenses. -// ======================================================================== -// - -package org.eclipse.jetty.websocket.server; - -import javax.servlet.FilterConfig; -import javax.servlet.ServletException; - -/** - * @deprecated Moved to #org.eclipse.jetty.websocket.servlet.WebSocketUpgradeFilter - */ -@Deprecated -public class WebSocketUpgradeFilter extends org.eclipse.jetty.websocket.servlet.WebSocketUpgradeFilter -{ - @Override - public void init(FilterConfig config) throws ServletException - { - super.init(config); - config.getServletContext().log( - WebSocketUpgradeFilter.class.getName() + - " is deprecated. Use " + - org.eclipse.jetty.websocket.servlet.WebSocketUpgradeFilter.class.getName()); - } -} diff --git a/jetty-websocket/jetty-websocket-server/src/main/java/org/eclipse/jetty/websocket/server/JettyWebSocketConfiguration.java b/jetty-websocket/jetty-websocket-server/src/main/java/org/eclipse/jetty/websocket/server/config/JettyWebSocketConfiguration.java similarity index 95% rename from jetty-websocket/jetty-websocket-server/src/main/java/org/eclipse/jetty/websocket/server/JettyWebSocketConfiguration.java rename to jetty-websocket/jetty-websocket-server/src/main/java/org/eclipse/jetty/websocket/server/config/JettyWebSocketConfiguration.java index a28fb6e7c42..d7462694f30 100644 --- a/jetty-websocket/jetty-websocket-server/src/main/java/org/eclipse/jetty/websocket/server/JettyWebSocketConfiguration.java +++ b/jetty-websocket/jetty-websocket-server/src/main/java/org/eclipse/jetty/websocket/server/config/JettyWebSocketConfiguration.java @@ -16,7 +16,7 @@ // ======================================================================== // -package org.eclipse.jetty.websocket.server; +package org.eclipse.jetty.websocket.server.config; import java.util.ServiceLoader; @@ -59,6 +59,9 @@ public class JettyWebSocketConfiguration extends AbstractConfiguration protectAndExpose( "org.eclipse.jetty.websocket.api.", "org.eclipse.jetty.websocket.server."); + + hide("org.eclipse.jetty.server.internal.", + "org.eclipse.jetty.server.config."); } @Override diff --git a/jetty-websocket/jetty-websocket-server/src/main/java/org/eclipse/jetty/websocket/server/JettyWebSocketServletContainerInitializer.java b/jetty-websocket/jetty-websocket-server/src/main/java/org/eclipse/jetty/websocket/server/config/JettyWebSocketServletContainerInitializer.java similarity index 95% rename from jetty-websocket/jetty-websocket-server/src/main/java/org/eclipse/jetty/websocket/server/JettyWebSocketServletContainerInitializer.java rename to jetty-websocket/jetty-websocket-server/src/main/java/org/eclipse/jetty/websocket/server/config/JettyWebSocketServletContainerInitializer.java index 8e0dee3e1c2..6bd66a3e817 100644 --- a/jetty-websocket/jetty-websocket-server/src/main/java/org/eclipse/jetty/websocket/server/JettyWebSocketServletContainerInitializer.java +++ b/jetty-websocket/jetty-websocket-server/src/main/java/org/eclipse/jetty/websocket/server/config/JettyWebSocketServletContainerInitializer.java @@ -16,7 +16,7 @@ // ======================================================================== // -package org.eclipse.jetty.websocket.server; +package org.eclipse.jetty.websocket.server.config; import java.util.Set; @@ -29,6 +29,7 @@ import org.eclipse.jetty.servlet.ServletContextHandler; import org.eclipse.jetty.util.log.Log; import org.eclipse.jetty.util.log.Logger; import org.eclipse.jetty.websocket.core.WebSocketComponents; +import org.eclipse.jetty.websocket.server.JettyWebSocketServerContainer; import org.eclipse.jetty.websocket.servlet.WebSocketMapping; import org.eclipse.jetty.websocket.servlet.WebSocketUpgradeFilter; diff --git a/jetty-websocket/jetty-websocket-server/src/main/java/org/eclipse/jetty/websocket/server/internal/DelegatedJettyServletUpgradeRequest.java b/jetty-websocket/jetty-websocket-server/src/main/java/org/eclipse/jetty/websocket/server/internal/DelegatedJettyServletUpgradeRequest.java deleted file mode 100644 index efb535cb9ef..00000000000 --- a/jetty-websocket/jetty-websocket-server/src/main/java/org/eclipse/jetty/websocket/server/internal/DelegatedJettyServletUpgradeRequest.java +++ /dev/null @@ -1,235 +0,0 @@ -// -// ======================================================================== -// Copyright (c) 1995-2019 Mort Bay Consulting Pty. Ltd. -// ------------------------------------------------------------------------ -// All rights reserved. This program and the accompanying materials -// are made available under the terms of the Eclipse Public License v1.0 -// and Apache License v2.0 which accompanies this distribution. -// -// The Eclipse Public License is available at -// http://www.eclipse.org/legal/epl-v10.html -// -// The Apache License v2.0 is available at -// http://www.opensource.org/licenses/apache2.0.php -// -// You may elect to redistribute this code under either of these licenses. -// ======================================================================== -// - -package org.eclipse.jetty.websocket.server.internal; - -import java.net.HttpCookie; -import java.net.URI; -import java.security.Principal; -import java.util.List; -import java.util.Map; -import java.util.stream.Collectors; - -import org.eclipse.jetty.websocket.api.UpgradeRequest; -import org.eclipse.jetty.websocket.api.extensions.ExtensionConfig; -import org.eclipse.jetty.websocket.common.JettyExtensionConfig; -import org.eclipse.jetty.websocket.servlet.ServletUpgradeRequest; - -public class DelegatedJettyServletUpgradeRequest implements UpgradeRequest -{ - private final ServletUpgradeRequest servletRequest; - - public DelegatedJettyServletUpgradeRequest(ServletUpgradeRequest servletRequest) - { - this.servletRequest = servletRequest; - } - - @Override - public void addExtensions(ExtensionConfig... configs) - { - throw new UnsupportedOperationException("Not supported from Servlet API"); - } - - @Override - public void addExtensions(String... configs) - { - throw new UnsupportedOperationException("Not supported from Servlet API"); - } - - @Override - public List getCookies() - { - return this.servletRequest.getCookies(); - } - - @Override - public List getExtensions() - { - return this.servletRequest.getExtensions().stream() - .map((ext) -> new JettyExtensionConfig(ext.getName(), ext.getParameters())) - .collect(Collectors.toList()); - } - - @Override - public String getHeader(String name) - { - return this.servletRequest.getHeader(name); - } - - @Override - public int getHeaderInt(String name) - { - return this.servletRequest.getHeaderInt(name); - } - - @Override - public Map> getHeaders() - { - return this.servletRequest.getHeadersMap(); - } - - @Override - public List getHeaders(String name) - { - return this.servletRequest.getHeaders(name); - } - - @Override - public String getHost() - { - return this.servletRequest.getHost(); - } - - @Override - public String getHttpVersion() - { - return this.servletRequest.getHttpVersion(); - } - - @Override - public String getMethod() - { - return this.servletRequest.getMethod(); - } - - @Override - public String getOrigin() - { - return this.servletRequest.getOrigin(); - } - - @Override - public Map> getParameterMap() - { - return this.servletRequest.getParameterMap(); - } - - @Override - public String getProtocolVersion() - { - return this.servletRequest.getProtocolVersion(); - } - - @Override - public String getQueryString() - { - return this.servletRequest.getQueryString(); - } - - @Override - public URI getRequestURI() - { - return this.servletRequest.getRequestURI(); - } - - @Override - public Object getSession() - { - return this.servletRequest.getSession(); - } - - @Override - public List getSubProtocols() - { - return this.servletRequest.getSubProtocols(); - } - - @Override - public Principal getUserPrincipal() - { - return this.servletRequest.getUserPrincipal(); - } - - @Override - public boolean hasSubProtocol(String test) - { - return this.servletRequest.hasSubProtocol(test); - } - - @Override - public boolean isSecure() - { - return this.servletRequest.isSecure(); - } - - @Override - public void setCookies(List cookies) - { - throw new UnsupportedOperationException("Not supported from Servlet API"); - } - - @Override - public void setExtensions(List configs) - { - throw new UnsupportedOperationException("Not supported from Servlet API"); - } - - @Override - public void setHeader(String name, List values) - { - throw new UnsupportedOperationException("Not supported from Servlet API"); - } - - @Override - public void setHeader(String name, String value) - { - throw new UnsupportedOperationException("Not supported from Servlet API"); - } - - @Override - public void setHeaders(Map> headers) - { - throw new UnsupportedOperationException("Not supported from Servlet API"); - } - - @Override - public void setHttpVersion(String httpVersion) - { - throw new UnsupportedOperationException("Not supported from Servlet API"); - } - - @Override - public void setMethod(String method) - { - throw new UnsupportedOperationException("Not supported from Servlet API"); - } - - @Override - public void setRequestURI(URI uri) - { - throw new UnsupportedOperationException("Not supported from Servlet API"); - } - - @Override - public void setSession(Object session) - { - throw new UnsupportedOperationException("Not supported from Servlet API"); - } - - @Override - public void setSubProtocols(List protocols) - { - throw new UnsupportedOperationException("Not supported from Servlet API"); - } - - @Override - public void setSubProtocols(String... protocols) - { - throw new UnsupportedOperationException("Not supported from Servlet API"); - } -} diff --git a/jetty-websocket/jetty-websocket-server/src/main/java/org/eclipse/jetty/websocket/server/JettyServerFrameHandlerFactory.java b/jetty-websocket/jetty-websocket-server/src/main/java/org/eclipse/jetty/websocket/server/internal/JettyServerFrameHandlerFactory.java similarity index 97% rename from jetty-websocket/jetty-websocket-server/src/main/java/org/eclipse/jetty/websocket/server/JettyServerFrameHandlerFactory.java rename to jetty-websocket/jetty-websocket-server/src/main/java/org/eclipse/jetty/websocket/server/internal/JettyServerFrameHandlerFactory.java index fcce48a3801..7e93fdc272d 100644 --- a/jetty-websocket/jetty-websocket-server/src/main/java/org/eclipse/jetty/websocket/server/JettyServerFrameHandlerFactory.java +++ b/jetty-websocket/jetty-websocket-server/src/main/java/org/eclipse/jetty/websocket/server/internal/JettyServerFrameHandlerFactory.java @@ -16,7 +16,7 @@ // ======================================================================== // -package org.eclipse.jetty.websocket.server; +package org.eclipse.jetty.websocket.server.internal; import javax.servlet.ServletContext; diff --git a/jetty-websocket/jetty-websocket-server/src/main/java/org/eclipse/jetty/websocket/server/internal/UpgradeResponseAdapter.java b/jetty-websocket/jetty-websocket-server/src/main/java/org/eclipse/jetty/websocket/server/internal/UpgradeResponseAdapter.java deleted file mode 100644 index c3de87cac3c..00000000000 --- a/jetty-websocket/jetty-websocket-server/src/main/java/org/eclipse/jetty/websocket/server/internal/UpgradeResponseAdapter.java +++ /dev/null @@ -1,123 +0,0 @@ -// -// ======================================================================== -// Copyright (c) 1995-2019 Mort Bay Consulting Pty. Ltd. -// ------------------------------------------------------------------------ -// All rights reserved. This program and the accompanying materials -// are made available under the terms of the Eclipse Public License v1.0 -// and Apache License v2.0 which accompanies this distribution. -// -// The Eclipse Public License is available at -// http://www.eclipse.org/legal/epl-v10.html -// -// The Apache License v2.0 is available at -// http://www.opensource.org/licenses/apache2.0.php -// -// You may elect to redistribute this code under either of these licenses. -// ======================================================================== -// - -package org.eclipse.jetty.websocket.server.internal; - -import java.io.IOException; -import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.stream.Collectors; - -import org.eclipse.jetty.websocket.api.UpgradeResponse; -import org.eclipse.jetty.websocket.api.extensions.ExtensionConfig; -import org.eclipse.jetty.websocket.common.JettyExtensionConfig; -import org.eclipse.jetty.websocket.servlet.ServletUpgradeResponse; - -public class UpgradeResponseAdapter implements UpgradeResponse -{ - private final ServletUpgradeResponse servletResponse; - - public UpgradeResponseAdapter(ServletUpgradeResponse servletResponse) - { - this.servletResponse = servletResponse; - } - - @Override - public void addHeader(String name, String value) - { - this.servletResponse.addHeader(name, value); - } - - @Override - public String getAcceptedSubProtocol() - { - return this.servletResponse.getAcceptedSubProtocol(); - } - - @Override - public List getExtensions() - { - return this.servletResponse.getExtensions().stream() - .map((ext) -> new JettyExtensionConfig(ext.getName(), ext.getParameters())) - .collect(Collectors.toList()); - } - - @Override - public String getHeader(String name) - { - return this.servletResponse.getHeader(name); - } - - @Override - public Set getHeaderNames() - { - return this.servletResponse.getHeaderNames(); - } - - @Override - public Map> getHeaders() - { - return this.servletResponse.getHeadersMap(); - } - - @Override - public List getHeaders(String name) - { - return this.servletResponse.getHeaders(name); - } - - @Override - public int getStatusCode() - { - return this.servletResponse.getStatusCode(); - } - - @Override - public void sendForbidden(String message) throws IOException - { - this.servletResponse.sendForbidden(message); - } - - @Override - public void setAcceptedSubProtocol(String protocol) - { - this.servletResponse.setAcceptedSubProtocol(protocol); - } - - @Override - public void setExtensions(List extensions) - { - List coreExtensionConfigs = extensions.stream() - .map((ext) -> new org.eclipse.jetty.websocket.core.ExtensionConfig(ext.getName(), ext.getParameters())) - .collect(Collectors.toList()); - this.servletResponse.setExtensions(coreExtensionConfigs); - } - - @Override - public void setHeader(String name, String value) - { - this.servletResponse.setHeader(name, value); - } - - @Override - public void setStatusCode(int statusCode) - { - this.servletResponse.setStatusCode(statusCode); - } -} diff --git a/jetty-websocket/jetty-websocket-server/src/main/resources/META-INF/services/javax.servlet.ServletContainerInitializer b/jetty-websocket/jetty-websocket-server/src/main/resources/META-INF/services/javax.servlet.ServletContainerInitializer index 58be2e559c9..9fc1ef1f0b4 100644 --- a/jetty-websocket/jetty-websocket-server/src/main/resources/META-INF/services/javax.servlet.ServletContainerInitializer +++ b/jetty-websocket/jetty-websocket-server/src/main/resources/META-INF/services/javax.servlet.ServletContainerInitializer @@ -1 +1 @@ -org.eclipse.jetty.websocket.server.JettyWebSocketServletContainerInitializer \ No newline at end of file +org.eclipse.jetty.websocket.server.config.JettyWebSocketServletContainerInitializer \ No newline at end of file diff --git a/jetty-websocket/jetty-websocket-server/src/main/resources/META-INF/services/org.eclipse.jetty.webapp.Configuration b/jetty-websocket/jetty-websocket-server/src/main/resources/META-INF/services/org.eclipse.jetty.webapp.Configuration index 8558e5f551d..d54099d1afc 100644 --- a/jetty-websocket/jetty-websocket-server/src/main/resources/META-INF/services/org.eclipse.jetty.webapp.Configuration +++ b/jetty-websocket/jetty-websocket-server/src/main/resources/META-INF/services/org.eclipse.jetty.webapp.Configuration @@ -1 +1 @@ -org.eclipse.jetty.websocket.server.JettyWebSocketConfiguration \ No newline at end of file +org.eclipse.jetty.websocket.server.config.JettyWebSocketConfiguration \ No newline at end of file diff --git a/jetty-websocket/jetty-websocket-server/src/test/java/org/eclipse/jetty/websocket/server/browser/BrowserDebugTool.java b/jetty-websocket/jetty-websocket-server/src/test/java/org/eclipse/jetty/websocket/server/browser/BrowserDebugTool.java index 4b25fadf684..4bbb232a59a 100644 --- a/jetty-websocket/jetty-websocket-server/src/test/java/org/eclipse/jetty/websocket/server/browser/BrowserDebugTool.java +++ b/jetty-websocket/jetty-websocket-server/src/test/java/org/eclipse/jetty/websocket/server/browser/BrowserDebugTool.java @@ -29,7 +29,6 @@ import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import org.eclipse.jetty.http.pathmap.ServletPathSpec; import org.eclipse.jetty.server.Server; import org.eclipse.jetty.server.ServerConnector; import org.eclipse.jetty.server.handler.DefaultHandler; @@ -47,8 +46,8 @@ import org.eclipse.jetty.websocket.server.JettyServerUpgradeRequest; import org.eclipse.jetty.websocket.server.JettyServerUpgradeResponse; import org.eclipse.jetty.websocket.server.JettyWebSocketCreator; import org.eclipse.jetty.websocket.server.JettyWebSocketServlet; -import org.eclipse.jetty.websocket.server.JettyWebSocketServletContainerInitializer; import org.eclipse.jetty.websocket.server.JettyWebSocketServletFactory; +import org.eclipse.jetty.websocket.server.config.JettyWebSocketServletContainerInitializer; /** * Tool to help debug websocket circumstances reported around browsers. @@ -144,7 +143,7 @@ public class BrowserDebugTool LOG.debug("Configuring WebSocketServerFactory ..."); // Setup the desired Socket to use for all incoming upgrade requests - factory.addMapping(new ServletPathSpec("/"), new BrowserSocketCreator()); + factory.addMapping("/", new BrowserSocketCreator()); // Set the timeout factory.setIdleTimeout(Duration.ofSeconds(30)); diff --git a/jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/JettyWebSocketExtensionConfigTest.java b/jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/JettyWebSocketExtensionConfigTest.java index 6ebb5a56e02..cf53f289c4d 100644 --- a/jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/JettyWebSocketExtensionConfigTest.java +++ b/jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/JettyWebSocketExtensionConfigTest.java @@ -37,7 +37,7 @@ import org.eclipse.jetty.websocket.client.ClientUpgradeRequest; import org.eclipse.jetty.websocket.client.JettyUpgradeListener; import org.eclipse.jetty.websocket.client.WebSocketClient; import org.eclipse.jetty.websocket.server.JettyWebSocketServerContainer; -import org.eclipse.jetty.websocket.server.JettyWebSocketServletContainerInitializer; +import org.eclipse.jetty.websocket.server.config.JettyWebSocketServletContainerInitializer; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; diff --git a/jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/JettyWebSocketFilterTest.java b/jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/JettyWebSocketFilterTest.java index 4fb4fe1b962..e90163f9211 100644 --- a/jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/JettyWebSocketFilterTest.java +++ b/jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/JettyWebSocketFilterTest.java @@ -28,7 +28,7 @@ import org.eclipse.jetty.servlet.ServletContextHandler; import org.eclipse.jetty.websocket.api.Session; import org.eclipse.jetty.websocket.client.WebSocketClient; import org.eclipse.jetty.websocket.server.JettyWebSocketServerContainer; -import org.eclipse.jetty.websocket.server.JettyWebSocketServletContainerInitializer; +import org.eclipse.jetty.websocket.server.config.JettyWebSocketServletContainerInitializer; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; diff --git a/jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/JettyWebSocketNegotiationTest.java b/jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/JettyWebSocketNegotiationTest.java index a5417bdb778..827c0b32573 100644 --- a/jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/JettyWebSocketNegotiationTest.java +++ b/jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/JettyWebSocketNegotiationTest.java @@ -33,7 +33,7 @@ import org.eclipse.jetty.websocket.api.UpgradeRequest; import org.eclipse.jetty.websocket.client.ClientUpgradeRequest; import org.eclipse.jetty.websocket.client.WebSocketClient; import org.eclipse.jetty.websocket.server.JettyWebSocketServerContainer; -import org.eclipse.jetty.websocket.server.JettyWebSocketServletContainerInitializer; +import org.eclipse.jetty.websocket.server.config.JettyWebSocketServletContainerInitializer; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; diff --git a/jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/JettyWebSocketServletTest.java b/jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/JettyWebSocketServletTest.java index 9b9ef9dcf66..fcd25934e6d 100644 --- a/jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/JettyWebSocketServletTest.java +++ b/jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/JettyWebSocketServletTest.java @@ -28,8 +28,8 @@ import org.eclipse.jetty.servlet.ServletContextHandler; import org.eclipse.jetty.websocket.api.Session; import org.eclipse.jetty.websocket.client.WebSocketClient; import org.eclipse.jetty.websocket.server.JettyWebSocketServlet; -import org.eclipse.jetty.websocket.server.JettyWebSocketServletContainerInitializer; import org.eclipse.jetty.websocket.server.JettyWebSocketServletFactory; +import org.eclipse.jetty.websocket.server.config.JettyWebSocketServletContainerInitializer; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; diff --git a/jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/SuspendResumeTest.java b/jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/SuspendResumeTest.java index 33285e7bf23..8ce13faaa43 100644 --- a/jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/SuspendResumeTest.java +++ b/jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/SuspendResumeTest.java @@ -32,8 +32,8 @@ import org.eclipse.jetty.websocket.api.SuspendToken; import org.eclipse.jetty.websocket.api.annotations.WebSocket; import org.eclipse.jetty.websocket.client.WebSocketClient; import org.eclipse.jetty.websocket.server.JettyWebSocketServlet; -import org.eclipse.jetty.websocket.server.JettyWebSocketServletContainerInitializer; import org.eclipse.jetty.websocket.server.JettyWebSocketServletFactory; +import org.eclipse.jetty.websocket.server.config.JettyWebSocketServletContainerInitializer; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Disabled; diff --git a/jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/WebSocketServletExamplesTest.java b/jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/WebSocketServletExamplesTest.java index 85dc3ef874a..b3c897272eb 100644 --- a/jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/WebSocketServletExamplesTest.java +++ b/jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/WebSocketServletExamplesTest.java @@ -39,7 +39,7 @@ import org.eclipse.jetty.websocket.api.Session; import org.eclipse.jetty.websocket.api.UpgradeRequest; import org.eclipse.jetty.websocket.client.ClientUpgradeRequest; import org.eclipse.jetty.websocket.client.WebSocketClient; -import org.eclipse.jetty.websocket.server.JettyWebSocketServletContainerInitializer; +import org.eclipse.jetty.websocket.server.config.JettyWebSocketServletContainerInitializer; import org.eclipse.jetty.websocket.tests.examples.MyAdvancedEchoServlet; import org.eclipse.jetty.websocket.tests.examples.MyAuthedServlet; import org.eclipse.jetty.websocket.tests.examples.MyEchoServlet; diff --git a/jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/WebSocketStatsTest.java b/jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/WebSocketStatsTest.java index c13924868c6..0c527954a11 100644 --- a/jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/WebSocketStatsTest.java +++ b/jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/WebSocketStatsTest.java @@ -41,8 +41,8 @@ import org.eclipse.jetty.websocket.core.OpCode; import org.eclipse.jetty.websocket.core.internal.Generator; import org.eclipse.jetty.websocket.core.internal.WebSocketConnection; import org.eclipse.jetty.websocket.server.JettyWebSocketServlet; -import org.eclipse.jetty.websocket.server.JettyWebSocketServletContainerInitializer; import org.eclipse.jetty.websocket.server.JettyWebSocketServletFactory; +import org.eclipse.jetty.websocket.server.config.JettyWebSocketServletContainerInitializer; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; diff --git a/jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/client/BadNetworkTest.java b/jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/client/BadNetworkTest.java index 37a417cd76e..1aba249b7b6 100644 --- a/jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/client/BadNetworkTest.java +++ b/jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/client/BadNetworkTest.java @@ -38,8 +38,8 @@ import org.eclipse.jetty.websocket.api.WebSocketListener; import org.eclipse.jetty.websocket.api.util.WSURI; import org.eclipse.jetty.websocket.client.WebSocketClient; import org.eclipse.jetty.websocket.server.JettyWebSocketServlet; -import org.eclipse.jetty.websocket.server.JettyWebSocketServletContainerInitializer; import org.eclipse.jetty.websocket.server.JettyWebSocketServletFactory; +import org.eclipse.jetty.websocket.server.config.JettyWebSocketServletContainerInitializer; import org.eclipse.jetty.websocket.tests.CloseTrackingEndpoint; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; diff --git a/jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/client/ClientCloseTest.java b/jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/client/ClientCloseTest.java index 1df92421212..eba846f319d 100644 --- a/jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/client/ClientCloseTest.java +++ b/jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/client/ClientCloseTest.java @@ -51,8 +51,8 @@ import org.eclipse.jetty.websocket.client.WebSocketClient; import org.eclipse.jetty.websocket.core.CloseStatus; import org.eclipse.jetty.websocket.core.OpCode; import org.eclipse.jetty.websocket.server.JettyWebSocketServlet; -import org.eclipse.jetty.websocket.server.JettyWebSocketServletContainerInitializer; import org.eclipse.jetty.websocket.server.JettyWebSocketServletFactory; +import org.eclipse.jetty.websocket.server.config.JettyWebSocketServletContainerInitializer; import org.eclipse.jetty.websocket.tests.CloseTrackingEndpoint; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; diff --git a/jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/client/ClientConfigTest.java b/jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/client/ClientConfigTest.java index af87718d240..1f45f214211 100644 --- a/jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/client/ClientConfigTest.java +++ b/jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/client/ClientConfigTest.java @@ -39,7 +39,7 @@ import org.eclipse.jetty.websocket.common.WebSocketSession; import org.eclipse.jetty.websocket.core.internal.WebSocketConnection; import org.eclipse.jetty.websocket.core.internal.WebSocketCoreSession; import org.eclipse.jetty.websocket.server.JettyWebSocketServerContainer; -import org.eclipse.jetty.websocket.server.JettyWebSocketServletContainerInitializer; +import org.eclipse.jetty.websocket.server.config.JettyWebSocketServletContainerInitializer; import org.eclipse.jetty.websocket.tests.EchoSocket; import org.eclipse.jetty.websocket.tests.EventSocket; import org.junit.jupiter.api.AfterEach; diff --git a/jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/client/ClientSessionsTest.java b/jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/client/ClientSessionsTest.java index e2b0ba6d7b8..87a0675e06e 100644 --- a/jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/client/ClientSessionsTest.java +++ b/jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/client/ClientSessionsTest.java @@ -39,8 +39,8 @@ import org.eclipse.jetty.websocket.api.util.WSURI; import org.eclipse.jetty.websocket.client.ClientUpgradeRequest; import org.eclipse.jetty.websocket.client.WebSocketClient; import org.eclipse.jetty.websocket.server.JettyWebSocketServlet; -import org.eclipse.jetty.websocket.server.JettyWebSocketServletContainerInitializer; import org.eclipse.jetty.websocket.server.JettyWebSocketServletFactory; +import org.eclipse.jetty.websocket.server.config.JettyWebSocketServletContainerInitializer; import org.eclipse.jetty.websocket.tests.CloseTrackingEndpoint; import org.eclipse.jetty.websocket.tests.EchoCreator; import org.junit.jupiter.api.AfterEach; diff --git a/jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/client/SlowClientTest.java b/jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/client/SlowClientTest.java index 84310131f63..ed7bacb39f6 100644 --- a/jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/client/SlowClientTest.java +++ b/jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/client/SlowClientTest.java @@ -33,8 +33,8 @@ import org.eclipse.jetty.websocket.api.StatusCode; import org.eclipse.jetty.websocket.api.util.WSURI; import org.eclipse.jetty.websocket.client.WebSocketClient; import org.eclipse.jetty.websocket.server.JettyWebSocketServlet; -import org.eclipse.jetty.websocket.server.JettyWebSocketServletContainerInitializer; import org.eclipse.jetty.websocket.server.JettyWebSocketServletFactory; +import org.eclipse.jetty.websocket.server.config.JettyWebSocketServletContainerInitializer; import org.eclipse.jetty.websocket.tests.CloseTrackingEndpoint; import org.eclipse.jetty.websocket.tests.EchoSocket; import org.junit.jupiter.api.AfterEach; diff --git a/jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/server/ServerCloseTest.java b/jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/server/ServerCloseTest.java index 7083aaef4f6..12647f2c3ba 100644 --- a/jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/server/ServerCloseTest.java +++ b/jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/server/ServerCloseTest.java @@ -38,8 +38,8 @@ import org.eclipse.jetty.websocket.client.WebSocketClient; import org.eclipse.jetty.websocket.common.WebSocketSession; import org.eclipse.jetty.websocket.core.internal.WebSocketCoreSession; import org.eclipse.jetty.websocket.server.JettyWebSocketServlet; -import org.eclipse.jetty.websocket.server.JettyWebSocketServletContainerInitializer; import org.eclipse.jetty.websocket.server.JettyWebSocketServletFactory; +import org.eclipse.jetty.websocket.server.config.JettyWebSocketServletContainerInitializer; import org.eclipse.jetty.websocket.tests.CloseTrackingEndpoint; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; diff --git a/jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/server/ServerConfigTest.java b/jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/server/ServerConfigTest.java index bcee42f5f8c..9f8ba9a1ccf 100644 --- a/jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/server/ServerConfigTest.java +++ b/jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/server/ServerConfigTest.java @@ -44,8 +44,8 @@ import org.eclipse.jetty.websocket.core.internal.WebSocketConnection; import org.eclipse.jetty.websocket.core.internal.WebSocketCoreSession; import org.eclipse.jetty.websocket.server.JettyWebSocketServerContainer; import org.eclipse.jetty.websocket.server.JettyWebSocketServlet; -import org.eclipse.jetty.websocket.server.JettyWebSocketServletContainerInitializer; import org.eclipse.jetty.websocket.server.JettyWebSocketServletFactory; +import org.eclipse.jetty.websocket.server.config.JettyWebSocketServletContainerInitializer; import org.eclipse.jetty.websocket.tests.EventSocket; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; diff --git a/jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/server/SlowServerTest.java b/jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/server/SlowServerTest.java index fb1193bb14e..e1976b8f9c0 100644 --- a/jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/server/SlowServerTest.java +++ b/jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/server/SlowServerTest.java @@ -33,8 +33,8 @@ import org.eclipse.jetty.websocket.api.Session; import org.eclipse.jetty.websocket.api.util.WSURI; import org.eclipse.jetty.websocket.client.WebSocketClient; import org.eclipse.jetty.websocket.server.JettyWebSocketServlet; -import org.eclipse.jetty.websocket.server.JettyWebSocketServletContainerInitializer; import org.eclipse.jetty.websocket.server.JettyWebSocketServletFactory; +import org.eclipse.jetty.websocket.server.config.JettyWebSocketServletContainerInitializer; import org.eclipse.jetty.websocket.tests.CloseTrackingEndpoint; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; diff --git a/jetty-websocket/websocket-servlet/src/main/java/org/eclipse/jetty/websocket/servlet/WebSocketServlet.java b/jetty-websocket/websocket-servlet/src/main/java/org/eclipse/jetty/websocket/servlet/WebSocketServlet.java index 0e7d7ba0714..6c0048a0f81 100644 --- a/jetty-websocket/websocket-servlet/src/main/java/org/eclipse/jetty/websocket/servlet/WebSocketServlet.java +++ b/jetty-websocket/websocket-servlet/src/main/java/org/eclipse/jetty/websocket/servlet/WebSocketServlet.java @@ -107,7 +107,7 @@ public abstract class WebSocketServlet extends HttpServlet /** * @return the instance of {@link FrameHandlerFactory} to be used to create the FrameHandler */ - public abstract FrameHandlerFactory getFactory(); + protected abstract FrameHandlerFactory getFactory(); @Override public void init() throws ServletException diff --git a/tests/test-integration/src/test/resources/configurations-addknown-all.xml b/tests/test-integration/src/test/resources/configurations-addknown-all.xml index d0a48f8dc9b..1afb1200f9d 100644 --- a/tests/test-integration/src/test/resources/configurations-addknown-all.xml +++ b/tests/test-integration/src/test/resources/configurations-addknown-all.xml @@ -17,7 +17,7 @@ org.eclipse.jetty.plus.webapp.EnvConfiguration org.eclipse.jetty.webapp.JmxConfiguration org.eclipse.jetty.annotations.AnnotationConfiguration - org.eclipse.jetty.websocket.server.JettyWebSocketConfiguration + org.eclipse.jetty.websocket.server.config.JettyWebSocketConfiguration org.eclipse.jetty.websocket.jsr356.server.JavaxWebSocketConfiguration diff --git a/tests/test-webapps/test-jetty-webapp/src/main/java/com/acme/WebSocketChatServlet.java b/tests/test-webapps/test-jetty-webapp/src/main/java/com/acme/WebSocketChatServlet.java index 7bf79fac398..0b019da0fcc 100644 --- a/tests/test-webapps/test-jetty-webapp/src/main/java/com/acme/WebSocketChatServlet.java +++ b/tests/test-webapps/test-jetty-webapp/src/main/java/com/acme/WebSocketChatServlet.java @@ -65,7 +65,7 @@ public class WebSocketChatServlet extends JettyWebSocketServlet implements Jetty @Override public void configure(JettyWebSocketServletFactory factory) { - factory.addMapping(factory.parsePathSpec("/"), this); + factory.addMapping("/", this); } /* ------------------------------------------------------------ */