Issue #9182 - make JakartaWSSCI.initialize() and JakartaWebSocketServerContainer public
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
This commit is contained in:
parent
81046650ab
commit
d6ff799588
|
@ -13,13 +13,14 @@
|
||||||
|
|
||||||
module org.eclipse.jetty.ee10.websocket.jakarta.server
|
module org.eclipse.jetty.ee10.websocket.jakarta.server
|
||||||
{
|
{
|
||||||
requires org.eclipse.jetty.websocket.core.server;
|
|
||||||
requires org.eclipse.jetty.ee10.websocket.servlet;
|
requires org.eclipse.jetty.ee10.websocket.servlet;
|
||||||
requires org.slf4j;
|
requires org.slf4j;
|
||||||
|
|
||||||
requires transitive org.eclipse.jetty.ee10.webapp;
|
requires transitive org.eclipse.jetty.ee10.webapp;
|
||||||
requires transitive org.eclipse.jetty.ee10.websocket.jakarta.client;
|
requires transitive org.eclipse.jetty.ee10.websocket.jakarta.client;
|
||||||
|
requires transitive org.eclipse.jetty.websocket.core.server;
|
||||||
|
|
||||||
|
exports org.eclipse.jetty.ee10.websocket.jakarta.server;
|
||||||
exports org.eclipse.jetty.ee10.websocket.jakarta.server.config;
|
exports org.eclipse.jetty.ee10.websocket.jakarta.server.config;
|
||||||
|
|
||||||
provides jakarta.servlet.ServletContainerInitializer with
|
provides jakarta.servlet.ServletContainerInitializer with
|
||||||
|
|
|
@ -11,7 +11,7 @@
|
||||||
// ========================================================================
|
// ========================================================================
|
||||||
//
|
//
|
||||||
|
|
||||||
package org.eclipse.jetty.ee10.websocket.jakarta.server.internal;
|
package org.eclipse.jetty.ee10.websocket.jakarta.server;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.lang.reflect.Modifier;
|
import java.lang.reflect.Modifier;
|
||||||
|
@ -34,6 +34,8 @@ import org.eclipse.jetty.ee10.servlet.ServletContextResponse;
|
||||||
import org.eclipse.jetty.ee10.websocket.jakarta.client.JakartaWebSocketClientContainer;
|
import org.eclipse.jetty.ee10.websocket.jakarta.client.JakartaWebSocketClientContainer;
|
||||||
import org.eclipse.jetty.ee10.websocket.jakarta.server.config.ContainerDefaultConfigurator;
|
import org.eclipse.jetty.ee10.websocket.jakarta.server.config.ContainerDefaultConfigurator;
|
||||||
import org.eclipse.jetty.ee10.websocket.jakarta.server.config.JakartaWebSocketServletContainerInitializer;
|
import org.eclipse.jetty.ee10.websocket.jakarta.server.config.JakartaWebSocketServletContainerInitializer;
|
||||||
|
import org.eclipse.jetty.ee10.websocket.jakarta.server.internal.AnnotatedServerEndpointConfig;
|
||||||
|
import org.eclipse.jetty.ee10.websocket.jakarta.server.internal.JakartaWebSocketCreator;
|
||||||
import org.eclipse.jetty.http.pathmap.PathSpec;
|
import org.eclipse.jetty.http.pathmap.PathSpec;
|
||||||
import org.eclipse.jetty.http.pathmap.UriTemplatePathSpec;
|
import org.eclipse.jetty.http.pathmap.UriTemplatePathSpec;
|
||||||
import org.eclipse.jetty.server.handler.ContextHandler;
|
import org.eclipse.jetty.server.handler.ContextHandler;
|
||||||
|
@ -55,7 +57,7 @@ import org.slf4j.LoggerFactory;
|
||||||
@ManagedObject("JSR356 Server Container")
|
@ManagedObject("JSR356 Server Container")
|
||||||
public class JakartaWebSocketServerContainer extends JakartaWebSocketClientContainer implements jakarta.websocket.server.ServerContainer, LifeCycle.Listener
|
public class JakartaWebSocketServerContainer extends JakartaWebSocketClientContainer implements jakarta.websocket.server.ServerContainer, LifeCycle.Listener
|
||||||
{
|
{
|
||||||
public static final String PATH_PARAM_ATTRIBUTE = "javax.websocket.server.pathParams";
|
public static final String PATH_PARAM_ATTRIBUTE = "jakarta.websocket.server.pathParams";
|
||||||
|
|
||||||
public static final String JAKARTA_WEBSOCKET_CONTAINER_ATTRIBUTE = jakarta.websocket.server.ServerContainer.class.getName();
|
public static final String JAKARTA_WEBSOCKET_CONTAINER_ATTRIBUTE = jakarta.websocket.server.ServerContainer.class.getName();
|
||||||
private static final Logger LOG = LoggerFactory.getLogger(JakartaWebSocketServerContainer.class);
|
private static final Logger LOG = LoggerFactory.getLogger(JakartaWebSocketServerContainer.class);
|
||||||
|
@ -143,7 +145,7 @@ public class JakartaWebSocketServerContainer extends JakartaWebSocketClientConta
|
||||||
* @param components the {@link WebSocketComponents} instance to use
|
* @param components the {@link WebSocketComponents} instance to use
|
||||||
* @param coreClientSupplier the supplier of the {@link WebSocketCoreClient} instance to use
|
* @param coreClientSupplier the supplier of the {@link WebSocketCoreClient} instance to use
|
||||||
*/
|
*/
|
||||||
public JakartaWebSocketServerContainer(WebSocketMappings webSocketMappings, WebSocketComponents components, Function<WebSocketComponents, WebSocketCoreClient> coreClientSupplier)
|
JakartaWebSocketServerContainer(WebSocketMappings webSocketMappings, WebSocketComponents components, Function<WebSocketComponents, WebSocketCoreClient> coreClientSupplier)
|
||||||
{
|
{
|
||||||
super(components, coreClientSupplier);
|
super(components, coreClientSupplier);
|
||||||
this.webSocketMappings = webSocketMappings;
|
this.webSocketMappings = webSocketMappings;
|
||||||
|
@ -272,6 +274,7 @@ public class JakartaWebSocketServerContainer extends JakartaWebSocketClientConta
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void upgradeHttpToWebSocket(Object httpServletRequest, Object httpServletResponse, ServerEndpointConfig sec,
|
public void upgradeHttpToWebSocket(Object httpServletRequest, Object httpServletResponse, ServerEndpointConfig sec,
|
||||||
Map<String, String> pathParameters) throws IOException, DeploymentException
|
Map<String, String> pathParameters) throws IOException, DeploymentException
|
||||||
{
|
{
|
|
@ -11,13 +11,15 @@
|
||||||
// ========================================================================
|
// ========================================================================
|
||||||
//
|
//
|
||||||
|
|
||||||
package org.eclipse.jetty.ee10.websocket.jakarta.server.internal;
|
package org.eclipse.jetty.ee10.websocket.jakarta.server;
|
||||||
|
|
||||||
import jakarta.websocket.EndpointConfig;
|
import jakarta.websocket.EndpointConfig;
|
||||||
import jakarta.websocket.server.ServerEndpoint;
|
import jakarta.websocket.server.ServerEndpoint;
|
||||||
import org.eclipse.jetty.ee10.websocket.jakarta.client.JakartaWebSocketClientFrameHandlerFactory;
|
import org.eclipse.jetty.ee10.websocket.jakarta.client.JakartaWebSocketClientFrameHandlerFactory;
|
||||||
import org.eclipse.jetty.ee10.websocket.jakarta.common.JakartaWebSocketContainer;
|
import org.eclipse.jetty.ee10.websocket.jakarta.common.JakartaWebSocketContainer;
|
||||||
import org.eclipse.jetty.ee10.websocket.jakarta.common.JakartaWebSocketFrameHandlerMetadata;
|
import org.eclipse.jetty.ee10.websocket.jakarta.common.JakartaWebSocketFrameHandlerMetadata;
|
||||||
|
import org.eclipse.jetty.ee10.websocket.jakarta.server.internal.JakartaServerUpgradeRequest;
|
||||||
|
import org.eclipse.jetty.ee10.websocket.jakarta.server.internal.PathParamIdentifier;
|
||||||
import org.eclipse.jetty.http.pathmap.UriTemplatePathSpec;
|
import org.eclipse.jetty.http.pathmap.UriTemplatePathSpec;
|
||||||
import org.eclipse.jetty.websocket.core.FrameHandler;
|
import org.eclipse.jetty.websocket.core.FrameHandler;
|
||||||
import org.eclipse.jetty.websocket.core.server.FrameHandlerFactory;
|
import org.eclipse.jetty.websocket.core.server.FrameHandlerFactory;
|
|
@ -28,7 +28,7 @@ import jakarta.websocket.server.ServerEndpoint;
|
||||||
import jakarta.websocket.server.ServerEndpointConfig;
|
import jakarta.websocket.server.ServerEndpointConfig;
|
||||||
import org.eclipse.jetty.ee10.servlet.FilterHolder;
|
import org.eclipse.jetty.ee10.servlet.FilterHolder;
|
||||||
import org.eclipse.jetty.ee10.servlet.ServletContextHandler;
|
import org.eclipse.jetty.ee10.servlet.ServletContextHandler;
|
||||||
import org.eclipse.jetty.ee10.websocket.jakarta.server.internal.JakartaWebSocketServerContainer;
|
import org.eclipse.jetty.ee10.websocket.jakarta.server.JakartaWebSocketServerContainer;
|
||||||
import org.eclipse.jetty.ee10.websocket.servlet.WebSocketUpgradeFilter;
|
import org.eclipse.jetty.ee10.websocket.servlet.WebSocketUpgradeFilter;
|
||||||
import org.eclipse.jetty.util.TypeUtil;
|
import org.eclipse.jetty.util.TypeUtil;
|
||||||
import org.eclipse.jetty.util.thread.ThreadClassLoaderScope;
|
import org.eclipse.jetty.util.thread.ThreadClassLoaderScope;
|
||||||
|
@ -119,8 +119,7 @@ public class JakartaWebSocketServletContainerInitializer implements ServletConta
|
||||||
* be performed.
|
* be performed.
|
||||||
* </p>
|
* </p>
|
||||||
* <p>
|
* <p>
|
||||||
* This method SHOULD NOT BE CALLED by users of Jetty.
|
* Users of Jetty should use the {@link #configure(ServletContextHandler, Configurator)} method instead.
|
||||||
* Use the {@link #configure(ServletContextHandler, Configurator)} method instead.
|
|
||||||
* </p>
|
* </p>
|
||||||
* <p>
|
* <p>
|
||||||
* There is no enablement check here, and no automatic deployment of endpoints at this point
|
* There is no enablement check here, and no automatic deployment of endpoints at this point
|
||||||
|
@ -131,7 +130,7 @@ public class JakartaWebSocketServletContainerInitializer implements ServletConta
|
||||||
* @param context the context to work with
|
* @param context the context to work with
|
||||||
* @return the default {@link ServerContainer} for this context
|
* @return the default {@link ServerContainer} for this context
|
||||||
*/
|
*/
|
||||||
private static ServerContainer initialize(ServletContextHandler context)
|
public static ServerContainer initialize(ServletContextHandler context)
|
||||||
{
|
{
|
||||||
JakartaWebSocketServerContainer serverContainer = JakartaWebSocketServerContainer.getContainer(context.getServletContext());
|
JakartaWebSocketServerContainer serverContainer = JakartaWebSocketServerContainer.getContainer(context.getServletContext());
|
||||||
if (serverContainer == null)
|
if (serverContainer == null)
|
||||||
|
|
|
@ -24,6 +24,7 @@ import java.util.stream.Collectors;
|
||||||
|
|
||||||
import jakarta.servlet.http.HttpServletRequest;
|
import jakarta.servlet.http.HttpServletRequest;
|
||||||
import jakarta.websocket.server.HandshakeRequest;
|
import jakarta.websocket.server.HandshakeRequest;
|
||||||
|
import org.eclipse.jetty.ee10.websocket.jakarta.server.JakartaWebSocketServerContainer;
|
||||||
import org.eclipse.jetty.http.pathmap.PathSpec;
|
import org.eclipse.jetty.http.pathmap.PathSpec;
|
||||||
import org.eclipse.jetty.server.Request;
|
import org.eclipse.jetty.server.Request;
|
||||||
import org.eclipse.jetty.util.Fields;
|
import org.eclipse.jetty.util.Fields;
|
||||||
|
|
|
@ -25,8 +25,8 @@ import org.eclipse.jetty.ee10.servlet.ServletContextHandler;
|
||||||
import org.eclipse.jetty.ee10.servlet.ServletHolder;
|
import org.eclipse.jetty.ee10.servlet.ServletHolder;
|
||||||
import org.eclipse.jetty.ee10.websocket.jakarta.common.JakartaWebSocketSession;
|
import org.eclipse.jetty.ee10.websocket.jakarta.common.JakartaWebSocketSession;
|
||||||
import org.eclipse.jetty.ee10.websocket.jakarta.common.JakartaWebSocketSessionListener;
|
import org.eclipse.jetty.ee10.websocket.jakarta.common.JakartaWebSocketSessionListener;
|
||||||
|
import org.eclipse.jetty.ee10.websocket.jakarta.server.JakartaWebSocketServerContainer;
|
||||||
import org.eclipse.jetty.ee10.websocket.jakarta.server.config.JakartaWebSocketServletContainerInitializer;
|
import org.eclipse.jetty.ee10.websocket.jakarta.server.config.JakartaWebSocketServletContainerInitializer;
|
||||||
import org.eclipse.jetty.ee10.websocket.jakarta.server.internal.JakartaWebSocketServerContainer;
|
|
||||||
import org.eclipse.jetty.http.HttpVersion;
|
import org.eclipse.jetty.http.HttpVersion;
|
||||||
import org.eclipse.jetty.io.ArrayByteBufferPool;
|
import org.eclipse.jetty.io.ArrayByteBufferPool;
|
||||||
import org.eclipse.jetty.io.ByteBufferPool;
|
import org.eclipse.jetty.io.ByteBufferPool;
|
||||||
|
|
|
@ -22,8 +22,8 @@ import jakarta.websocket.Session;
|
||||||
import jakarta.websocket.server.ServerEndpoint;
|
import jakarta.websocket.server.ServerEndpoint;
|
||||||
import org.eclipse.jetty.ee10.servlet.ServletContextHandler;
|
import org.eclipse.jetty.ee10.servlet.ServletContextHandler;
|
||||||
import org.eclipse.jetty.ee10.websocket.jakarta.client.JakartaWebSocketClientContainer;
|
import org.eclipse.jetty.ee10.websocket.jakarta.client.JakartaWebSocketClientContainer;
|
||||||
|
import org.eclipse.jetty.ee10.websocket.jakarta.server.JakartaWebSocketServerContainer;
|
||||||
import org.eclipse.jetty.ee10.websocket.jakarta.server.config.JakartaWebSocketServletContainerInitializer;
|
import org.eclipse.jetty.ee10.websocket.jakarta.server.config.JakartaWebSocketServletContainerInitializer;
|
||||||
import org.eclipse.jetty.ee10.websocket.jakarta.server.internal.JakartaWebSocketServerContainer;
|
|
||||||
import org.eclipse.jetty.server.Server;
|
import org.eclipse.jetty.server.Server;
|
||||||
import org.eclipse.jetty.server.ServerConnector;
|
import org.eclipse.jetty.server.ServerConnector;
|
||||||
import org.junit.jupiter.api.AfterEach;
|
import org.junit.jupiter.api.AfterEach;
|
||||||
|
|
|
@ -20,8 +20,8 @@ import jakarta.websocket.Session;
|
||||||
import org.eclipse.jetty.ee10.servlet.FilterHolder;
|
import org.eclipse.jetty.ee10.servlet.FilterHolder;
|
||||||
import org.eclipse.jetty.ee10.servlet.ServletContextHandler;
|
import org.eclipse.jetty.ee10.servlet.ServletContextHandler;
|
||||||
import org.eclipse.jetty.ee10.websocket.jakarta.client.JakartaWebSocketClientContainer;
|
import org.eclipse.jetty.ee10.websocket.jakarta.client.JakartaWebSocketClientContainer;
|
||||||
|
import org.eclipse.jetty.ee10.websocket.jakarta.server.JakartaWebSocketServerContainer;
|
||||||
import org.eclipse.jetty.ee10.websocket.jakarta.server.config.JakartaWebSocketServletContainerInitializer;
|
import org.eclipse.jetty.ee10.websocket.jakarta.server.config.JakartaWebSocketServletContainerInitializer;
|
||||||
import org.eclipse.jetty.ee10.websocket.jakarta.server.internal.JakartaWebSocketServerContainer;
|
|
||||||
import org.eclipse.jetty.ee10.websocket.servlet.WebSocketUpgradeFilter;
|
import org.eclipse.jetty.ee10.websocket.servlet.WebSocketUpgradeFilter;
|
||||||
import org.eclipse.jetty.server.Server;
|
import org.eclipse.jetty.server.Server;
|
||||||
import org.eclipse.jetty.server.ServerConnector;
|
import org.eclipse.jetty.server.ServerConnector;
|
||||||
|
|
|
@ -25,8 +25,8 @@ import jakarta.websocket.WebSocketContainer;
|
||||||
import jakarta.websocket.server.PathParam;
|
import jakarta.websocket.server.PathParam;
|
||||||
import jakarta.websocket.server.ServerEndpoint;
|
import jakarta.websocket.server.ServerEndpoint;
|
||||||
import org.eclipse.jetty.ee10.servlet.ServletContextHandler;
|
import org.eclipse.jetty.ee10.servlet.ServletContextHandler;
|
||||||
|
import org.eclipse.jetty.ee10.websocket.jakarta.server.JakartaWebSocketServerContainer;
|
||||||
import org.eclipse.jetty.ee10.websocket.jakarta.server.config.JakartaWebSocketServletContainerInitializer;
|
import org.eclipse.jetty.ee10.websocket.jakarta.server.config.JakartaWebSocketServletContainerInitializer;
|
||||||
import org.eclipse.jetty.ee10.websocket.jakarta.server.internal.JakartaWebSocketServerContainer;
|
|
||||||
import org.eclipse.jetty.ee10.websocket.jakarta.tests.pathparam.BooleanClassSocket;
|
import org.eclipse.jetty.ee10.websocket.jakarta.tests.pathparam.BooleanClassSocket;
|
||||||
import org.eclipse.jetty.ee10.websocket.jakarta.tests.pathparam.BooleanTypeSocket;
|
import org.eclipse.jetty.ee10.websocket.jakarta.tests.pathparam.BooleanTypeSocket;
|
||||||
import org.eclipse.jetty.ee10.websocket.jakarta.tests.pathparam.ByteClassSocket;
|
import org.eclipse.jetty.ee10.websocket.jakarta.tests.pathparam.ByteClassSocket;
|
||||||
|
|
|
@ -33,8 +33,8 @@ import jakarta.websocket.server.ServerEndpointConfig;
|
||||||
import org.eclipse.jetty.ee10.servlet.ServletContextHandler;
|
import org.eclipse.jetty.ee10.servlet.ServletContextHandler;
|
||||||
import org.eclipse.jetty.ee10.servlet.ServletHolder;
|
import org.eclipse.jetty.ee10.servlet.ServletHolder;
|
||||||
import org.eclipse.jetty.ee10.websocket.jakarta.client.JakartaWebSocketClientContainer;
|
import org.eclipse.jetty.ee10.websocket.jakarta.client.JakartaWebSocketClientContainer;
|
||||||
|
import org.eclipse.jetty.ee10.websocket.jakarta.server.JakartaWebSocketServerContainer;
|
||||||
import org.eclipse.jetty.ee10.websocket.jakarta.server.config.JakartaWebSocketServletContainerInitializer;
|
import org.eclipse.jetty.ee10.websocket.jakarta.server.config.JakartaWebSocketServletContainerInitializer;
|
||||||
import org.eclipse.jetty.ee10.websocket.jakarta.server.internal.JakartaWebSocketServerContainer;
|
|
||||||
import org.eclipse.jetty.server.Server;
|
import org.eclipse.jetty.server.Server;
|
||||||
import org.eclipse.jetty.server.ServerConnector;
|
import org.eclipse.jetty.server.ServerConnector;
|
||||||
import org.eclipse.jetty.util.ajax.JSON;
|
import org.eclipse.jetty.util.ajax.JSON;
|
||||||
|
|
|
@ -28,8 +28,8 @@ import jakarta.websocket.WebSocketContainer;
|
||||||
import jakarta.websocket.server.ServerContainer;
|
import jakarta.websocket.server.ServerContainer;
|
||||||
import jakarta.websocket.server.ServerEndpoint;
|
import jakarta.websocket.server.ServerEndpoint;
|
||||||
import org.eclipse.jetty.ee10.servlet.ServletContextHandler;
|
import org.eclipse.jetty.ee10.servlet.ServletContextHandler;
|
||||||
|
import org.eclipse.jetty.ee10.websocket.jakarta.server.JakartaWebSocketServerContainer;
|
||||||
import org.eclipse.jetty.ee10.websocket.jakarta.server.config.JakartaWebSocketServletContainerInitializer;
|
import org.eclipse.jetty.ee10.websocket.jakarta.server.config.JakartaWebSocketServletContainerInitializer;
|
||||||
import org.eclipse.jetty.ee10.websocket.jakarta.server.internal.JakartaWebSocketServerContainer;
|
|
||||||
import org.eclipse.jetty.server.Server;
|
import org.eclipse.jetty.server.Server;
|
||||||
import org.eclipse.jetty.server.ServerConnector;
|
import org.eclipse.jetty.server.ServerConnector;
|
||||||
import org.junit.jupiter.api.AfterEach;
|
import org.junit.jupiter.api.AfterEach;
|
||||||
|
|
|
@ -21,8 +21,8 @@ import org.eclipse.jetty.ee10.servlet.ServletContextHandler;
|
||||||
import org.eclipse.jetty.ee10.websocket.jakarta.client.internal.BasicClientEndpointConfig;
|
import org.eclipse.jetty.ee10.websocket.jakarta.client.internal.BasicClientEndpointConfig;
|
||||||
import org.eclipse.jetty.ee10.websocket.jakarta.common.decoders.AvailableDecoders;
|
import org.eclipse.jetty.ee10.websocket.jakarta.common.decoders.AvailableDecoders;
|
||||||
import org.eclipse.jetty.ee10.websocket.jakarta.common.encoders.AvailableEncoders;
|
import org.eclipse.jetty.ee10.websocket.jakarta.common.encoders.AvailableEncoders;
|
||||||
|
import org.eclipse.jetty.ee10.websocket.jakarta.server.JakartaWebSocketServerContainer;
|
||||||
import org.eclipse.jetty.ee10.websocket.jakarta.server.config.JakartaWebSocketServletContainerInitializer;
|
import org.eclipse.jetty.ee10.websocket.jakarta.server.config.JakartaWebSocketServletContainerInitializer;
|
||||||
import org.eclipse.jetty.ee10.websocket.jakarta.server.internal.JakartaWebSocketServerContainer;
|
|
||||||
import org.eclipse.jetty.server.Server;
|
import org.eclipse.jetty.server.Server;
|
||||||
import org.eclipse.jetty.websocket.core.WebSocketComponents;
|
import org.eclipse.jetty.websocket.core.WebSocketComponents;
|
||||||
import org.junit.jupiter.api.AfterAll;
|
import org.junit.jupiter.api.AfterAll;
|
||||||
|
|
|
@ -37,8 +37,8 @@ import jakarta.websocket.WebSocketContainer;
|
||||||
import jakarta.websocket.server.ServerEndpoint;
|
import jakarta.websocket.server.ServerEndpoint;
|
||||||
import org.eclipse.jetty.client.HttpClient;
|
import org.eclipse.jetty.client.HttpClient;
|
||||||
import org.eclipse.jetty.ee10.servlet.ServletContextHandler;
|
import org.eclipse.jetty.ee10.servlet.ServletContextHandler;
|
||||||
|
import org.eclipse.jetty.ee10.websocket.jakarta.server.JakartaWebSocketServerContainer;
|
||||||
import org.eclipse.jetty.ee10.websocket.jakarta.server.config.JakartaWebSocketServletContainerInitializer;
|
import org.eclipse.jetty.ee10.websocket.jakarta.server.config.JakartaWebSocketServletContainerInitializer;
|
||||||
import org.eclipse.jetty.ee10.websocket.jakarta.server.internal.JakartaWebSocketServerContainer;
|
|
||||||
import org.eclipse.jetty.ee10.websocket.jakarta.tests.WSURI;
|
import org.eclipse.jetty.ee10.websocket.jakarta.tests.WSURI;
|
||||||
import org.eclipse.jetty.server.Server;
|
import org.eclipse.jetty.server.Server;
|
||||||
import org.eclipse.jetty.util.IO;
|
import org.eclipse.jetty.util.IO;
|
||||||
|
|
|
@ -13,13 +13,14 @@
|
||||||
|
|
||||||
module org.eclipse.jetty.ee9.websocket.jakarta.server
|
module org.eclipse.jetty.ee9.websocket.jakarta.server
|
||||||
{
|
{
|
||||||
requires org.eclipse.jetty.websocket.core.server;
|
|
||||||
requires org.eclipse.jetty.ee9.websocket.servlet;
|
requires org.eclipse.jetty.ee9.websocket.servlet;
|
||||||
requires org.slf4j;
|
requires org.slf4j;
|
||||||
|
|
||||||
requires transitive org.eclipse.jetty.ee9.webapp;
|
requires transitive org.eclipse.jetty.ee9.webapp;
|
||||||
requires transitive org.eclipse.jetty.ee9.websocket.jakarta.client;
|
requires transitive org.eclipse.jetty.ee9.websocket.jakarta.client;
|
||||||
|
requires transitive org.eclipse.jetty.websocket.core.server;
|
||||||
|
|
||||||
|
exports org.eclipse.jetty.ee9.websocket.jakarta.server;
|
||||||
exports org.eclipse.jetty.ee9.websocket.jakarta.server.config;
|
exports org.eclipse.jetty.ee9.websocket.jakarta.server.config;
|
||||||
|
|
||||||
provides jakarta.servlet.ServletContainerInitializer with
|
provides jakarta.servlet.ServletContainerInitializer with
|
||||||
|
|
|
@ -11,7 +11,7 @@
|
||||||
// ========================================================================
|
// ========================================================================
|
||||||
//
|
//
|
||||||
|
|
||||||
package org.eclipse.jetty.ee9.websocket.jakarta.server.internal;
|
package org.eclipse.jetty.ee9.websocket.jakarta.server;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.lang.reflect.Modifier;
|
import java.lang.reflect.Modifier;
|
||||||
|
@ -34,6 +34,8 @@ import org.eclipse.jetty.ee9.servlet.ServletContextHandler;
|
||||||
import org.eclipse.jetty.ee9.websocket.jakarta.client.JakartaWebSocketClientContainer;
|
import org.eclipse.jetty.ee9.websocket.jakarta.client.JakartaWebSocketClientContainer;
|
||||||
import org.eclipse.jetty.ee9.websocket.jakarta.server.config.ContainerDefaultConfigurator;
|
import org.eclipse.jetty.ee9.websocket.jakarta.server.config.ContainerDefaultConfigurator;
|
||||||
import org.eclipse.jetty.ee9.websocket.jakarta.server.config.JakartaWebSocketServletContainerInitializer;
|
import org.eclipse.jetty.ee9.websocket.jakarta.server.config.JakartaWebSocketServletContainerInitializer;
|
||||||
|
import org.eclipse.jetty.ee9.websocket.jakarta.server.internal.AnnotatedServerEndpointConfig;
|
||||||
|
import org.eclipse.jetty.ee9.websocket.jakarta.server.internal.JakartaWebSocketCreator;
|
||||||
import org.eclipse.jetty.http.pathmap.PathSpec;
|
import org.eclipse.jetty.http.pathmap.PathSpec;
|
||||||
import org.eclipse.jetty.http.pathmap.UriTemplatePathSpec;
|
import org.eclipse.jetty.http.pathmap.UriTemplatePathSpec;
|
||||||
import org.eclipse.jetty.server.Request;
|
import org.eclipse.jetty.server.Request;
|
||||||
|
@ -56,7 +58,7 @@ import org.slf4j.LoggerFactory;
|
||||||
@ManagedObject("JSR356 Server Container")
|
@ManagedObject("JSR356 Server Container")
|
||||||
public class JakartaWebSocketServerContainer extends JakartaWebSocketClientContainer implements jakarta.websocket.server.ServerContainer, LifeCycle.Listener
|
public class JakartaWebSocketServerContainer extends JakartaWebSocketClientContainer implements jakarta.websocket.server.ServerContainer, LifeCycle.Listener
|
||||||
{
|
{
|
||||||
public static final String PATH_PARAM_ATTRIBUTE = "javax.websocket.server.pathParams";
|
public static final String PATH_PARAM_ATTRIBUTE = "jakarta.websocket.server.pathParams";
|
||||||
|
|
||||||
public static final String JAKARTA_WEBSOCKET_CONTAINER_ATTRIBUTE = jakarta.websocket.server.ServerContainer.class.getName();
|
public static final String JAKARTA_WEBSOCKET_CONTAINER_ATTRIBUTE = jakarta.websocket.server.ServerContainer.class.getName();
|
||||||
private static final Logger LOG = LoggerFactory.getLogger(JakartaWebSocketServerContainer.class);
|
private static final Logger LOG = LoggerFactory.getLogger(JakartaWebSocketServerContainer.class);
|
||||||
|
@ -144,7 +146,7 @@ public class JakartaWebSocketServerContainer extends JakartaWebSocketClientConta
|
||||||
* @param components the {@link WebSocketComponents} instance to use
|
* @param components the {@link WebSocketComponents} instance to use
|
||||||
* @param coreClientSupplier the supplier of the {@link WebSocketCoreClient} instance to use
|
* @param coreClientSupplier the supplier of the {@link WebSocketCoreClient} instance to use
|
||||||
*/
|
*/
|
||||||
public JakartaWebSocketServerContainer(WebSocketMappings webSocketMappings, WebSocketComponents components, Function<WebSocketComponents, WebSocketCoreClient> coreClientSupplier)
|
JakartaWebSocketServerContainer(WebSocketMappings webSocketMappings, WebSocketComponents components, Function<WebSocketComponents, WebSocketCoreClient> coreClientSupplier)
|
||||||
{
|
{
|
||||||
super(components, coreClientSupplier);
|
super(components, coreClientSupplier);
|
||||||
this.webSocketMappings = webSocketMappings;
|
this.webSocketMappings = webSocketMappings;
|
|
@ -11,13 +11,15 @@
|
||||||
// ========================================================================
|
// ========================================================================
|
||||||
//
|
//
|
||||||
|
|
||||||
package org.eclipse.jetty.ee9.websocket.jakarta.server.internal;
|
package org.eclipse.jetty.ee9.websocket.jakarta.server;
|
||||||
|
|
||||||
import jakarta.websocket.EndpointConfig;
|
import jakarta.websocket.EndpointConfig;
|
||||||
import jakarta.websocket.server.ServerEndpoint;
|
import jakarta.websocket.server.ServerEndpoint;
|
||||||
import org.eclipse.jetty.ee9.websocket.jakarta.client.JakartaWebSocketClientFrameHandlerFactory;
|
import org.eclipse.jetty.ee9.websocket.jakarta.client.JakartaWebSocketClientFrameHandlerFactory;
|
||||||
import org.eclipse.jetty.ee9.websocket.jakarta.common.JakartaWebSocketContainer;
|
import org.eclipse.jetty.ee9.websocket.jakarta.common.JakartaWebSocketContainer;
|
||||||
import org.eclipse.jetty.ee9.websocket.jakarta.common.JakartaWebSocketFrameHandlerMetadata;
|
import org.eclipse.jetty.ee9.websocket.jakarta.common.JakartaWebSocketFrameHandlerMetadata;
|
||||||
|
import org.eclipse.jetty.ee9.websocket.jakarta.server.internal.JakartaServerUpgradeRequest;
|
||||||
|
import org.eclipse.jetty.ee9.websocket.jakarta.server.internal.PathParamIdentifier;
|
||||||
import org.eclipse.jetty.http.pathmap.UriTemplatePathSpec;
|
import org.eclipse.jetty.http.pathmap.UriTemplatePathSpec;
|
||||||
import org.eclipse.jetty.websocket.core.FrameHandler;
|
import org.eclipse.jetty.websocket.core.FrameHandler;
|
||||||
import org.eclipse.jetty.websocket.core.server.FrameHandlerFactory;
|
import org.eclipse.jetty.websocket.core.server.FrameHandlerFactory;
|
|
@ -28,7 +28,7 @@ import jakarta.websocket.server.ServerEndpoint;
|
||||||
import jakarta.websocket.server.ServerEndpointConfig;
|
import jakarta.websocket.server.ServerEndpointConfig;
|
||||||
import org.eclipse.jetty.ee9.servlet.FilterHolder;
|
import org.eclipse.jetty.ee9.servlet.FilterHolder;
|
||||||
import org.eclipse.jetty.ee9.servlet.ServletContextHandler;
|
import org.eclipse.jetty.ee9.servlet.ServletContextHandler;
|
||||||
import org.eclipse.jetty.ee9.websocket.jakarta.server.internal.JakartaWebSocketServerContainer;
|
import org.eclipse.jetty.ee9.websocket.jakarta.server.JakartaWebSocketServerContainer;
|
||||||
import org.eclipse.jetty.ee9.websocket.servlet.WebSocketUpgradeFilter;
|
import org.eclipse.jetty.ee9.websocket.servlet.WebSocketUpgradeFilter;
|
||||||
import org.eclipse.jetty.util.TypeUtil;
|
import org.eclipse.jetty.util.TypeUtil;
|
||||||
import org.eclipse.jetty.util.thread.ThreadClassLoaderScope;
|
import org.eclipse.jetty.util.thread.ThreadClassLoaderScope;
|
||||||
|
@ -119,8 +119,7 @@ public class JakartaWebSocketServletContainerInitializer implements ServletConta
|
||||||
* be performed.
|
* be performed.
|
||||||
* </p>
|
* </p>
|
||||||
* <p>
|
* <p>
|
||||||
* This method SHOULD NOT BE CALLED by users of Jetty.
|
* Users of Jetty should use the {@link #configure(ServletContextHandler, Configurator)} method instead.
|
||||||
* Use the {@link #configure(ServletContextHandler, Configurator)} method instead.
|
|
||||||
* </p>
|
* </p>
|
||||||
* <p>
|
* <p>
|
||||||
* There is no enablement check here, and no automatic deployment of endpoints at this point
|
* There is no enablement check here, and no automatic deployment of endpoints at this point
|
||||||
|
@ -131,7 +130,7 @@ public class JakartaWebSocketServletContainerInitializer implements ServletConta
|
||||||
* @param context the context to work with
|
* @param context the context to work with
|
||||||
* @return the default {@link ServerContainer} for this context
|
* @return the default {@link ServerContainer} for this context
|
||||||
*/
|
*/
|
||||||
private static ServerContainer initialize(ServletContextHandler context)
|
public static ServerContainer initialize(ServletContextHandler context)
|
||||||
{
|
{
|
||||||
JakartaWebSocketServerContainer serverContainer = JakartaWebSocketServerContainer.getContainer(context.getServletContext());
|
JakartaWebSocketServerContainer serverContainer = JakartaWebSocketServerContainer.getContainer(context.getServletContext());
|
||||||
if (serverContainer == null)
|
if (serverContainer == null)
|
||||||
|
|
|
@ -24,6 +24,7 @@ import java.util.stream.Collectors;
|
||||||
|
|
||||||
import jakarta.servlet.http.HttpServletRequest;
|
import jakarta.servlet.http.HttpServletRequest;
|
||||||
import jakarta.websocket.server.HandshakeRequest;
|
import jakarta.websocket.server.HandshakeRequest;
|
||||||
|
import org.eclipse.jetty.ee9.websocket.jakarta.server.JakartaWebSocketServerContainer;
|
||||||
import org.eclipse.jetty.http.pathmap.PathSpec;
|
import org.eclipse.jetty.http.pathmap.PathSpec;
|
||||||
import org.eclipse.jetty.server.Request;
|
import org.eclipse.jetty.server.Request;
|
||||||
import org.eclipse.jetty.util.Fields;
|
import org.eclipse.jetty.util.Fields;
|
||||||
|
|
|
@ -25,8 +25,8 @@ import org.eclipse.jetty.ee9.servlet.ServletContextHandler;
|
||||||
import org.eclipse.jetty.ee9.servlet.ServletHolder;
|
import org.eclipse.jetty.ee9.servlet.ServletHolder;
|
||||||
import org.eclipse.jetty.ee9.websocket.jakarta.common.JakartaWebSocketSession;
|
import org.eclipse.jetty.ee9.websocket.jakarta.common.JakartaWebSocketSession;
|
||||||
import org.eclipse.jetty.ee9.websocket.jakarta.common.JakartaWebSocketSessionListener;
|
import org.eclipse.jetty.ee9.websocket.jakarta.common.JakartaWebSocketSessionListener;
|
||||||
|
import org.eclipse.jetty.ee9.websocket.jakarta.server.JakartaWebSocketServerContainer;
|
||||||
import org.eclipse.jetty.ee9.websocket.jakarta.server.config.JakartaWebSocketServletContainerInitializer;
|
import org.eclipse.jetty.ee9.websocket.jakarta.server.config.JakartaWebSocketServletContainerInitializer;
|
||||||
import org.eclipse.jetty.ee9.websocket.jakarta.server.internal.JakartaWebSocketServerContainer;
|
|
||||||
import org.eclipse.jetty.http.HttpVersion;
|
import org.eclipse.jetty.http.HttpVersion;
|
||||||
import org.eclipse.jetty.io.ArrayByteBufferPool;
|
import org.eclipse.jetty.io.ArrayByteBufferPool;
|
||||||
import org.eclipse.jetty.io.ByteBufferPool;
|
import org.eclipse.jetty.io.ByteBufferPool;
|
||||||
|
|
|
@ -22,8 +22,8 @@ import jakarta.websocket.Session;
|
||||||
import jakarta.websocket.server.ServerEndpoint;
|
import jakarta.websocket.server.ServerEndpoint;
|
||||||
import org.eclipse.jetty.ee9.servlet.ServletContextHandler;
|
import org.eclipse.jetty.ee9.servlet.ServletContextHandler;
|
||||||
import org.eclipse.jetty.ee9.websocket.jakarta.client.JakartaWebSocketClientContainer;
|
import org.eclipse.jetty.ee9.websocket.jakarta.client.JakartaWebSocketClientContainer;
|
||||||
|
import org.eclipse.jetty.ee9.websocket.jakarta.server.JakartaWebSocketServerContainer;
|
||||||
import org.eclipse.jetty.ee9.websocket.jakarta.server.config.JakartaWebSocketServletContainerInitializer;
|
import org.eclipse.jetty.ee9.websocket.jakarta.server.config.JakartaWebSocketServletContainerInitializer;
|
||||||
import org.eclipse.jetty.ee9.websocket.jakarta.server.internal.JakartaWebSocketServerContainer;
|
|
||||||
import org.eclipse.jetty.server.Server;
|
import org.eclipse.jetty.server.Server;
|
||||||
import org.eclipse.jetty.server.ServerConnector;
|
import org.eclipse.jetty.server.ServerConnector;
|
||||||
import org.junit.jupiter.api.AfterEach;
|
import org.junit.jupiter.api.AfterEach;
|
||||||
|
|
|
@ -20,8 +20,8 @@ import jakarta.websocket.Session;
|
||||||
import org.eclipse.jetty.ee9.servlet.FilterHolder;
|
import org.eclipse.jetty.ee9.servlet.FilterHolder;
|
||||||
import org.eclipse.jetty.ee9.servlet.ServletContextHandler;
|
import org.eclipse.jetty.ee9.servlet.ServletContextHandler;
|
||||||
import org.eclipse.jetty.ee9.websocket.jakarta.client.JakartaWebSocketClientContainer;
|
import org.eclipse.jetty.ee9.websocket.jakarta.client.JakartaWebSocketClientContainer;
|
||||||
|
import org.eclipse.jetty.ee9.websocket.jakarta.server.JakartaWebSocketServerContainer;
|
||||||
import org.eclipse.jetty.ee9.websocket.jakarta.server.config.JakartaWebSocketServletContainerInitializer;
|
import org.eclipse.jetty.ee9.websocket.jakarta.server.config.JakartaWebSocketServletContainerInitializer;
|
||||||
import org.eclipse.jetty.ee9.websocket.jakarta.server.internal.JakartaWebSocketServerContainer;
|
|
||||||
import org.eclipse.jetty.ee9.websocket.servlet.WebSocketUpgradeFilter;
|
import org.eclipse.jetty.ee9.websocket.servlet.WebSocketUpgradeFilter;
|
||||||
import org.eclipse.jetty.server.Server;
|
import org.eclipse.jetty.server.Server;
|
||||||
import org.eclipse.jetty.server.ServerConnector;
|
import org.eclipse.jetty.server.ServerConnector;
|
||||||
|
|
|
@ -25,8 +25,8 @@ import jakarta.websocket.WebSocketContainer;
|
||||||
import jakarta.websocket.server.PathParam;
|
import jakarta.websocket.server.PathParam;
|
||||||
import jakarta.websocket.server.ServerEndpoint;
|
import jakarta.websocket.server.ServerEndpoint;
|
||||||
import org.eclipse.jetty.ee9.servlet.ServletContextHandler;
|
import org.eclipse.jetty.ee9.servlet.ServletContextHandler;
|
||||||
|
import org.eclipse.jetty.ee9.websocket.jakarta.server.JakartaWebSocketServerContainer;
|
||||||
import org.eclipse.jetty.ee9.websocket.jakarta.server.config.JakartaWebSocketServletContainerInitializer;
|
import org.eclipse.jetty.ee9.websocket.jakarta.server.config.JakartaWebSocketServletContainerInitializer;
|
||||||
import org.eclipse.jetty.ee9.websocket.jakarta.server.internal.JakartaWebSocketServerContainer;
|
|
||||||
import org.eclipse.jetty.ee9.websocket.jakarta.tests.pathparam.BooleanClassSocket;
|
import org.eclipse.jetty.ee9.websocket.jakarta.tests.pathparam.BooleanClassSocket;
|
||||||
import org.eclipse.jetty.ee9.websocket.jakarta.tests.pathparam.BooleanTypeSocket;
|
import org.eclipse.jetty.ee9.websocket.jakarta.tests.pathparam.BooleanTypeSocket;
|
||||||
import org.eclipse.jetty.ee9.websocket.jakarta.tests.pathparam.ByteClassSocket;
|
import org.eclipse.jetty.ee9.websocket.jakarta.tests.pathparam.ByteClassSocket;
|
||||||
|
|
|
@ -33,8 +33,8 @@ import jakarta.websocket.server.ServerEndpointConfig;
|
||||||
import org.eclipse.jetty.ee9.servlet.ServletContextHandler;
|
import org.eclipse.jetty.ee9.servlet.ServletContextHandler;
|
||||||
import org.eclipse.jetty.ee9.servlet.ServletHolder;
|
import org.eclipse.jetty.ee9.servlet.ServletHolder;
|
||||||
import org.eclipse.jetty.ee9.websocket.jakarta.client.JakartaWebSocketClientContainer;
|
import org.eclipse.jetty.ee9.websocket.jakarta.client.JakartaWebSocketClientContainer;
|
||||||
|
import org.eclipse.jetty.ee9.websocket.jakarta.server.JakartaWebSocketServerContainer;
|
||||||
import org.eclipse.jetty.ee9.websocket.jakarta.server.config.JakartaWebSocketServletContainerInitializer;
|
import org.eclipse.jetty.ee9.websocket.jakarta.server.config.JakartaWebSocketServletContainerInitializer;
|
||||||
import org.eclipse.jetty.ee9.websocket.jakarta.server.internal.JakartaWebSocketServerContainer;
|
|
||||||
import org.eclipse.jetty.server.Server;
|
import org.eclipse.jetty.server.Server;
|
||||||
import org.eclipse.jetty.server.ServerConnector;
|
import org.eclipse.jetty.server.ServerConnector;
|
||||||
import org.eclipse.jetty.util.ajax.JSON;
|
import org.eclipse.jetty.util.ajax.JSON;
|
||||||
|
|
|
@ -28,8 +28,8 @@ import jakarta.websocket.WebSocketContainer;
|
||||||
import jakarta.websocket.server.ServerContainer;
|
import jakarta.websocket.server.ServerContainer;
|
||||||
import jakarta.websocket.server.ServerEndpoint;
|
import jakarta.websocket.server.ServerEndpoint;
|
||||||
import org.eclipse.jetty.ee9.servlet.ServletContextHandler;
|
import org.eclipse.jetty.ee9.servlet.ServletContextHandler;
|
||||||
|
import org.eclipse.jetty.ee9.websocket.jakarta.server.JakartaWebSocketServerContainer;
|
||||||
import org.eclipse.jetty.ee9.websocket.jakarta.server.config.JakartaWebSocketServletContainerInitializer;
|
import org.eclipse.jetty.ee9.websocket.jakarta.server.config.JakartaWebSocketServletContainerInitializer;
|
||||||
import org.eclipse.jetty.ee9.websocket.jakarta.server.internal.JakartaWebSocketServerContainer;
|
|
||||||
import org.eclipse.jetty.server.Server;
|
import org.eclipse.jetty.server.Server;
|
||||||
import org.eclipse.jetty.server.ServerConnector;
|
import org.eclipse.jetty.server.ServerConnector;
|
||||||
import org.junit.jupiter.api.AfterEach;
|
import org.junit.jupiter.api.AfterEach;
|
||||||
|
|
|
@ -21,8 +21,8 @@ import org.eclipse.jetty.ee9.servlet.ServletContextHandler;
|
||||||
import org.eclipse.jetty.ee9.websocket.jakarta.client.internal.BasicClientEndpointConfig;
|
import org.eclipse.jetty.ee9.websocket.jakarta.client.internal.BasicClientEndpointConfig;
|
||||||
import org.eclipse.jetty.ee9.websocket.jakarta.common.decoders.AvailableDecoders;
|
import org.eclipse.jetty.ee9.websocket.jakarta.common.decoders.AvailableDecoders;
|
||||||
import org.eclipse.jetty.ee9.websocket.jakarta.common.encoders.AvailableEncoders;
|
import org.eclipse.jetty.ee9.websocket.jakarta.common.encoders.AvailableEncoders;
|
||||||
|
import org.eclipse.jetty.ee9.websocket.jakarta.server.JakartaWebSocketServerContainer;
|
||||||
import org.eclipse.jetty.ee9.websocket.jakarta.server.config.JakartaWebSocketServletContainerInitializer;
|
import org.eclipse.jetty.ee9.websocket.jakarta.server.config.JakartaWebSocketServletContainerInitializer;
|
||||||
import org.eclipse.jetty.ee9.websocket.jakarta.server.internal.JakartaWebSocketServerContainer;
|
|
||||||
import org.eclipse.jetty.server.Server;
|
import org.eclipse.jetty.server.Server;
|
||||||
import org.eclipse.jetty.websocket.core.WebSocketComponents;
|
import org.eclipse.jetty.websocket.core.WebSocketComponents;
|
||||||
import org.junit.jupiter.api.AfterAll;
|
import org.junit.jupiter.api.AfterAll;
|
||||||
|
|
|
@ -37,8 +37,8 @@ import jakarta.websocket.WebSocketContainer;
|
||||||
import jakarta.websocket.server.ServerEndpoint;
|
import jakarta.websocket.server.ServerEndpoint;
|
||||||
import org.eclipse.jetty.client.HttpClient;
|
import org.eclipse.jetty.client.HttpClient;
|
||||||
import org.eclipse.jetty.ee9.servlet.ServletContextHandler;
|
import org.eclipse.jetty.ee9.servlet.ServletContextHandler;
|
||||||
|
import org.eclipse.jetty.ee9.websocket.jakarta.server.JakartaWebSocketServerContainer;
|
||||||
import org.eclipse.jetty.ee9.websocket.jakarta.server.config.JakartaWebSocketServletContainerInitializer;
|
import org.eclipse.jetty.ee9.websocket.jakarta.server.config.JakartaWebSocketServletContainerInitializer;
|
||||||
import org.eclipse.jetty.ee9.websocket.jakarta.server.internal.JakartaWebSocketServerContainer;
|
|
||||||
import org.eclipse.jetty.ee9.websocket.jakarta.tests.WSURI;
|
import org.eclipse.jetty.ee9.websocket.jakarta.tests.WSURI;
|
||||||
import org.eclipse.jetty.server.Server;
|
import org.eclipse.jetty.server.Server;
|
||||||
import org.eclipse.jetty.util.IO;
|
import org.eclipse.jetty.util.IO;
|
||||||
|
|
Loading…
Reference in New Issue