From 704063de5379ebbe48d8ff0086755d0eb885a72e Mon Sep 17 00:00:00 2001
From: Lachlan Roberts
Date: Thu, 19 Nov 2020 11:45:30 +1100
Subject: [PATCH 01/21] merge websocket-util into websocket-core-common
Signed-off-by: Lachlan Roberts
---
.../eclipse/jetty/osgi/test/TestOSGiUtil.java | 1 -
jetty-websocket/pom.xml | 1 -
.../src/main/java/module-info.java | 2 +
.../core}/messages/AbstractMessageSink.java | 2 +-
.../core}/messages/ByteArrayMessageSink.java | 4 +-
.../core}/messages/ByteBufferMessageSink.java | 4 +-
.../core}/messages/DispatchedMessageSink.java | 2 +-
.../messages/InputStreamMessageSink.java | 2 +-
.../core}/messages/MessageInputStream.java | 2 +-
.../core}/messages/MessageOutputStream.java | 2 +-
.../core}/messages/MessageReader.java | 2 +-
.../websocket/core}/messages/MessageSink.java | 2 +-
.../core}/messages/MessageWriter.java | 2 +-
.../messages/PartialByteArrayMessageSink.java | 2 +-
.../PartialByteBufferMessageSink.java | 2 +-
.../messages/PartialStringMessageSink.java | 2 +-
.../core}/messages/ReaderMessageSink.java | 2 +-
.../core}/messages/StringMessageSink.java | 2 +-
.../util/DuplicateAnnotationException.java | 2 +-
.../core}/util/InvalidSignatureException.java | 2 +-
.../core}/util/InvalidWebSocketException.java | 2 +-
.../websocket/core}/util/InvokerUtils.java | 2 +-
.../websocket/core}/util/ReflectUtils.java | 2 +-
.../jetty/websocket/core}/util/TextUtils.java | 2 +-
.../core/autobahn/AutobahnTests.java | 1 -
.../core}/util/MessageReaderTest.java | 4 +-
.../core}/util/MessageWriterTest.java | 4 +-
.../util/PartialStringMessageSinkTest.java | 4 +-
.../core}/util/StringMessageSinkTest.java | 4 +-
.../websocket-javax-client/pom.xml | 5 --
.../AnnotatedClientEndpointConfig.java | 2 +-
.../JavaxWebSocketClientContainer.java | 2 +-
...vaxWebSocketClientFrameHandlerFactory.java | 2 +-
.../websocket-javax-common/pom.xml | 5 --
.../src/main/java/module-info.java | 1 -
.../common/JavaxWebSocketAsyncRemote.java | 6 +-
.../common/JavaxWebSocketBasicRemote.java | 2 +-
.../common/JavaxWebSocketFrameHandler.java | 10 +--
.../JavaxWebSocketFrameHandlerFactory.java | 16 ++---
.../JavaxWebSocketFrameHandlerMetadata.java | 2 +-
.../common/JavaxWebSocketMessageMetadata.java | 2 +-
.../common/JavaxWebSocketRemoteEndpoint.java | 4 +-
.../javax/common/JavaxWebSocketSession.java | 2 +-
.../common/decoders/AvailableDecoders.java | 6 +-
.../common/encoders/AvailableEncoders.java | 6 +-
.../messages/AbstractDecodedMessageSink.java | 2 +-
.../messages/DecodedBinaryMessageSink.java | 4 +-
.../DecodedBinaryStreamMessageSink.java | 4 +-
.../messages/DecodedTextMessageSink.java | 4 +-
.../DecodedTextStreamMessageSink.java | 4 +-
.../common/DummyFrameHandlerFactory.java | 2 +-
...ebSocketFrameHandlerBadSignaturesTest.java | 2 +-
...SocketFrameHandlerOnMessageBinaryTest.java | 2 +-
...ebSocketFrameHandlerOnMessageTextTest.java | 2 +-
.../messages/InputStreamMessageSinkTest.java | 2 +-
.../messages/ReaderMessageSinkTest.java | 2 +-
.../util/InvokerUtilsStaticParamsTest.java | 4 +-
.../javax/common/util/InvokerUtilsTest.java | 4 +-
.../common/util/NameParamIdentifier.java | 2 +-
.../javax/common/util/ReflectUtilsTest.java | 2 +-
.../main/config/modules/websocket-javax.mod | 1 -
.../JavaxWebSocketServerContainer.java | 4 +-
.../server/internal/PathParamIdentifier.java | 4 +-
.../tests/CompletableFutureMethodHandle.java | 4 +-
.../tests/matchers/IsMessageHandlerType.java | 2 +-
.../tests/client/MessageReceivingTest.java | 2 +-
.../tests/coders/AvailableDecodersTest.java | 2 +-
.../tests/coders/AvailableEncodersTest.java | 2 +-
.../javax/tests/coders/DecoderListTest.java | 2 +-
.../javax/tests/server/AddEndpointTest.java | 1 -
.../tests/server/DeploymentExceptionTest.java | 2 +-
.../config/modules/websocket-jetty-client.mod | 1 -
.../DelegatedJettyClientUpgradeResponse.java | 3 -
.../websocket-jetty-common/pom.xml | 2 +-
.../src/main/java/module-info.java | 1 -
.../common/JettyWebSocketFrameHandler.java | 6 +-
.../JettyWebSocketFrameHandlerFactory.java | 24 +++----
.../JettyWebSocketFrameHandlerMetadata.java | 2 +-
.../jetty/websocket/common/EndPoints.java | 2 +-
.../common/LocalEndpointMetadataTest.java | 12 ++--
.../common/MessageInputStreamTest.java | 2 +-
.../common/MessageOutputStreamTest.java | 2 +-
.../common/OutgoingMessageCapture.java | 6 +-
.../common/invoke/InvokerUtilsTest.java | 4 +-
.../common/invoke/NameParamIdentifier.java | 2 +-
.../main/config/modules/websocket-jetty.mod | 1 -
.../server/JettyWebSocketServerContainer.java | 2 +-
.../jetty/websocket/tests/EchoSocket.java | 1 -
.../tests/server/PartialListenerTest.java | 2 +-
jetty-websocket/websocket-util/pom.xml | 64 -------------------
.../src/main/java/module-info.java | 26 --------
.../test/resources/jetty-logging.properties | 1 -
92 files changed, 131 insertions(+), 243 deletions(-)
rename jetty-websocket/{websocket-util/src/main/java/org/eclipse/jetty/websocket/util => websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core}/messages/AbstractMessageSink.java (96%)
rename jetty-websocket/{websocket-util/src/main/java/org/eclipse/jetty/websocket/util => websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core}/messages/ByteArrayMessageSink.java (96%)
rename jetty-websocket/{websocket-util/src/main/java/org/eclipse/jetty/websocket/util => websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core}/messages/ByteBufferMessageSink.java (96%)
rename jetty-websocket/{websocket-util/src/main/java/org/eclipse/jetty/websocket/util => websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core}/messages/DispatchedMessageSink.java (99%)
rename jetty-websocket/{websocket-util/src/main/java/org/eclipse/jetty/websocket/util => websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core}/messages/InputStreamMessageSink.java (95%)
rename jetty-websocket/{websocket-util/src/main/java/org/eclipse/jetty/websocket/util => websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core}/messages/MessageInputStream.java (99%)
rename jetty-websocket/{websocket-util/src/main/java/org/eclipse/jetty/websocket/util => websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core}/messages/MessageOutputStream.java (99%)
rename jetty-websocket/{websocket-util/src/main/java/org/eclipse/jetty/websocket/util => websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core}/messages/MessageReader.java (98%)
rename jetty-websocket/{websocket-util/src/main/java/org/eclipse/jetty/websocket/util => websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core}/messages/MessageSink.java (96%)
rename jetty-websocket/{websocket-util/src/main/java/org/eclipse/jetty/websocket/util => websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core}/messages/MessageWriter.java (97%)
rename jetty-websocket/{websocket-util/src/main/java/org/eclipse/jetty/websocket/util => websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core}/messages/PartialByteArrayMessageSink.java (97%)
rename jetty-websocket/{websocket-util/src/main/java/org/eclipse/jetty/websocket/util => websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core}/messages/PartialByteBufferMessageSink.java (96%)
rename jetty-websocket/{websocket-util/src/main/java/org/eclipse/jetty/websocket/util => websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core}/messages/PartialStringMessageSink.java (97%)
rename jetty-websocket/{websocket-util/src/main/java/org/eclipse/jetty/websocket/util => websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core}/messages/ReaderMessageSink.java (96%)
rename jetty-websocket/{websocket-util/src/main/java/org/eclipse/jetty/websocket/util => websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core}/messages/StringMessageSink.java (97%)
rename jetty-websocket/{websocket-util/src/main/java/org/eclipse/jetty/websocket => websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core}/util/DuplicateAnnotationException.java (97%)
rename jetty-websocket/{websocket-util/src/main/java/org/eclipse/jetty/websocket => websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core}/util/InvalidSignatureException.java (97%)
rename jetty-websocket/{websocket-util/src/main/java/org/eclipse/jetty/websocket => websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core}/util/InvalidWebSocketException.java (96%)
rename jetty-websocket/{websocket-util/src/main/java/org/eclipse/jetty/websocket => websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core}/util/InvokerUtils.java (99%)
rename jetty-websocket/{websocket-util/src/main/java/org/eclipse/jetty/websocket => websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core}/util/ReflectUtils.java (99%)
rename jetty-websocket/{websocket-util/src/main/java/org/eclipse/jetty/websocket => websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core}/util/TextUtils.java (98%)
rename jetty-websocket/{websocket-util/src/test/java/org/eclipse/jetty/websocket => websocket-core-tests/src/test/java/org/eclipse/jetty/websocket/core}/util/MessageReaderTest.java (97%)
rename jetty-websocket/{websocket-util/src/test/java/org/eclipse/jetty/websocket => websocket-core-tests/src/test/java/org/eclipse/jetty/websocket/core}/util/MessageWriterTest.java (98%)
rename jetty-websocket/{websocket-util/src/test/java/org/eclipse/jetty/websocket => websocket-core-tests/src/test/java/org/eclipse/jetty/websocket/core}/util/PartialStringMessageSinkTest.java (98%)
rename jetty-websocket/{websocket-util/src/test/java/org/eclipse/jetty/websocket => websocket-core-tests/src/test/java/org/eclipse/jetty/websocket/core}/util/StringMessageSinkTest.java (98%)
delete mode 100644 jetty-websocket/websocket-util/pom.xml
delete mode 100644 jetty-websocket/websocket-util/src/main/java/module-info.java
delete mode 100644 jetty-websocket/websocket-util/src/test/resources/jetty-logging.properties
diff --git a/jetty-osgi/test-jetty-osgi/src/test/java/org/eclipse/jetty/osgi/test/TestOSGiUtil.java b/jetty-osgi/test-jetty-osgi/src/test/java/org/eclipse/jetty/osgi/test/TestOSGiUtil.java
index ae1039583c35..fd2c6f18481a 100644
--- a/jetty-osgi/test-jetty-osgi/src/test/java/org/eclipse/jetty/osgi/test/TestOSGiUtil.java
+++ b/jetty-osgi/test-jetty-osgi/src/test/java/org/eclipse/jetty/osgi/test/TestOSGiUtil.java
@@ -186,7 +186,6 @@ public static List
*/
public class JettyWebSocketConfiguration extends AbstractConfiguration
{
@@ -44,7 +44,7 @@ public JettyWebSocketConfiguration()
protectAndExpose("org.eclipse.jetty.websocket.api.");
protectAndExpose("org.eclipse.jetty.websocket.server.");
- protectAndExpose("org.eclipse.jetty.websocket.util.server."); // For WebSocketUpgradeFilter
+ protectAndExpose("org.eclipse.jetty.websocket.servlet."); // For WebSocketUpgradeFilter
hide("org.eclipse.jetty.server.internal.");
hide("org.eclipse.jetty.server.config.");
}
diff --git a/jetty-websocket/websocket-jetty-tests/src/test/java/org/eclipse/jetty/websocket/tests/ErrorCloseTest.java b/jetty-websocket/websocket-jetty-tests/src/test/java/org/eclipse/jetty/websocket/tests/ErrorCloseTest.java
index b4a850bb5cac..0c335d953c04 100644
--- a/jetty-websocket/websocket-jetty-tests/src/test/java/org/eclipse/jetty/websocket/tests/ErrorCloseTest.java
+++ b/jetty-websocket/websocket-jetty-tests/src/test/java/org/eclipse/jetty/websocket/tests/ErrorCloseTest.java
@@ -257,6 +257,7 @@ public void testWebSocketThrowsOnLocalDisconnect(String methodToThrow) throws Ex
serverSocket.methodsToThrow.add(methodToThrow);
EventSocket clientSocket = new EventSocket();
client.connect(clientSocket, serverUri).get(5, TimeUnit.SECONDS);
+ assertTrue(serverSocket.openLatch.await(5, TimeUnit.SECONDS));
try (StacklessLogging ignored = new StacklessLogging(WebSocketSession.class))
{
diff --git a/jetty-websocket/websocket-servlet/pom.xml b/jetty-websocket/websocket-servlet/pom.xml
index 5121c83e8dbf..b60a77c7d36f 100644
--- a/jetty-websocket/websocket-servlet/pom.xml
+++ b/jetty-websocket/websocket-servlet/pom.xml
@@ -42,24 +42,6 @@
-
- org.apache.felix
- maven-bundle-plugin
- true
-
-
- generate-manifest
-
- manifest
-
-
-
- *,org.eclipse.jetty.websocket.util.server.internal.*
-
-
-
-
-
From 768a0c9cffbacec01a98c36631cde4e7d9d0cac4 Mon Sep 17 00:00:00 2001
From: Lachlan Roberts
Date: Thu, 19 Nov 2020 22:47:53 +1100
Subject: [PATCH 06/21] move exception classes in websocket-core-common
Signed-off-by: Lachlan Roberts
---
.../DuplicateAnnotationException.java | 4 +-
.../InvalidSignatureException.java | 4 +-
.../InvalidWebSocketException.java | 4 +-
.../core/messages/ByteArrayMessageSink.java | 2 +-
.../core/messages/ByteBufferMessageSink.java | 2 +-
.../websocket/core/util/InvokerUtils.java | 1 +
.../websocket/core/util/ReflectUtils.java | 3 ++
.../core/autobahn/AutobahnTests.java | 1 -
.../AnnotatedClientEndpointConfig.java | 2 +-
.../JavaxWebSocketClientContainer.java | 2 +-
.../JavaxWebSocketFrameHandlerFactory.java | 4 +-
.../JavaxWebSocketFrameHandlerMetadata.java | 2 +-
.../common/decoders/AvailableDecoders.java | 4 +-
.../common/encoders/AvailableEncoders.java | 4 +-
...ebSocketFrameHandlerBadSignaturesTest.java | 2 +-
...SocketFrameHandlerOnMessageBinaryTest.java | 2 +-
...ebSocketFrameHandlerOnMessageTextTest.java | 2 +-
.../JavaxWebSocketServerContainer.java | 2 +-
.../server/internal/PathParamIdentifier.java | 2 +-
.../tests/coders/AvailableDecodersTest.java | 2 +-
.../tests/coders/AvailableEncodersTest.java | 2 +-
.../javax/tests/coders/DecoderListTest.java | 2 +-
.../tests/server/DeploymentExceptionTest.java | 2 +-
.../common/JettyWebSocketFrameHandler.java | 2 +-
.../JettyWebSocketFrameHandlerFactory.java | 4 +-
.../common/LocalEndpointMetadataTest.java | 4 +-
.../tests/JettyWebSocketNegotiationTest.java | 43 +++++++++++++++++++
27 files changed, 79 insertions(+), 31 deletions(-)
rename jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/{util => exception}/DuplicateAnnotationException.java (94%)
rename jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/{util => exception}/InvalidSignatureException.java (95%)
rename jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/{util => exception}/InvalidWebSocketException.java (90%)
diff --git a/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/util/DuplicateAnnotationException.java b/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/exception/DuplicateAnnotationException.java
similarity index 94%
rename from jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/util/DuplicateAnnotationException.java
rename to jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/exception/DuplicateAnnotationException.java
index 730af9637304..e02985865437 100644
--- a/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/util/DuplicateAnnotationException.java
+++ b/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/exception/DuplicateAnnotationException.java
@@ -16,11 +16,13 @@
// ========================================================================
//
-package org.eclipse.jetty.websocket.core.util;
+package org.eclipse.jetty.websocket.core.exception;
import java.lang.annotation.Annotation;
import java.lang.reflect.Method;
+import org.eclipse.jetty.websocket.core.util.ReflectUtils;
+
@SuppressWarnings("serial")
public class DuplicateAnnotationException extends InvalidWebSocketException
{
diff --git a/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/util/InvalidSignatureException.java b/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/exception/InvalidSignatureException.java
similarity index 95%
rename from jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/util/InvalidSignatureException.java
rename to jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/exception/InvalidSignatureException.java
index 0eda3b03bcf4..81119b908d2d 100644
--- a/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/util/InvalidSignatureException.java
+++ b/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/exception/InvalidSignatureException.java
@@ -16,12 +16,14 @@
// ========================================================================
//
-package org.eclipse.jetty.websocket.core.util;
+package org.eclipse.jetty.websocket.core.exception;
import java.lang.annotation.Annotation;
import java.lang.invoke.MethodType;
import java.lang.reflect.Method;
+import org.eclipse.jetty.websocket.core.util.ReflectUtils;
+
@SuppressWarnings("serial")
public class InvalidSignatureException extends InvalidWebSocketException
{
diff --git a/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/util/InvalidWebSocketException.java b/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/exception/InvalidWebSocketException.java
similarity index 90%
rename from jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/util/InvalidWebSocketException.java
rename to jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/exception/InvalidWebSocketException.java
index 6e4a8650c2ef..294ec23ba5c2 100644
--- a/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/util/InvalidWebSocketException.java
+++ b/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/exception/InvalidWebSocketException.java
@@ -16,9 +16,7 @@
// ========================================================================
//
-package org.eclipse.jetty.websocket.core.util;
-
-import org.eclipse.jetty.websocket.core.exception.WebSocketException;
+package org.eclipse.jetty.websocket.core.exception;
/**
* Indicating that the provided Class is not a valid WebSocket per the chosen API.
diff --git a/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/messages/ByteArrayMessageSink.java b/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/messages/ByteArrayMessageSink.java
index c14d9efca2bd..3fdd833406a1 100644
--- a/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/messages/ByteArrayMessageSink.java
+++ b/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/messages/ByteArrayMessageSink.java
@@ -28,8 +28,8 @@
import org.eclipse.jetty.util.Callback;
import org.eclipse.jetty.websocket.core.CoreSession;
import org.eclipse.jetty.websocket.core.Frame;
+import org.eclipse.jetty.websocket.core.exception.InvalidSignatureException;
import org.eclipse.jetty.websocket.core.exception.MessageTooLargeException;
-import org.eclipse.jetty.websocket.core.util.InvalidSignatureException;
public class ByteArrayMessageSink extends AbstractMessageSink
{
diff --git a/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/messages/ByteBufferMessageSink.java b/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/messages/ByteBufferMessageSink.java
index 84978ea17a5e..0d1dadaaa85f 100644
--- a/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/messages/ByteBufferMessageSink.java
+++ b/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/messages/ByteBufferMessageSink.java
@@ -29,8 +29,8 @@
import org.eclipse.jetty.util.Callback;
import org.eclipse.jetty.websocket.core.CoreSession;
import org.eclipse.jetty.websocket.core.Frame;
+import org.eclipse.jetty.websocket.core.exception.InvalidSignatureException;
import org.eclipse.jetty.websocket.core.exception.MessageTooLargeException;
-import org.eclipse.jetty.websocket.core.util.InvalidSignatureException;
public class ByteBufferMessageSink extends AbstractMessageSink
{
diff --git a/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/util/InvokerUtils.java b/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/util/InvokerUtils.java
index a5d3e6437fcb..da5d5596c668 100644
--- a/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/util/InvokerUtils.java
+++ b/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/util/InvokerUtils.java
@@ -26,6 +26,7 @@
import java.util.Arrays;
import java.util.List;
+import org.eclipse.jetty.websocket.core.exception.InvalidSignatureException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/util/ReflectUtils.java b/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/util/ReflectUtils.java
index 8a0aa1d4f229..e54abda25472 100644
--- a/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/util/ReflectUtils.java
+++ b/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/util/ReflectUtils.java
@@ -31,6 +31,9 @@
import java.util.regex.Pattern;
import java.util.stream.Stream;
+import org.eclipse.jetty.websocket.core.exception.DuplicateAnnotationException;
+import org.eclipse.jetty.websocket.core.exception.InvalidWebSocketException;
+
public class ReflectUtils
{
diff --git a/jetty-websocket/websocket-core-tests/src/test/java/org/eclipse/jetty/websocket/core/autobahn/AutobahnTests.java b/jetty-websocket/websocket-core-tests/src/test/java/org/eclipse/jetty/websocket/core/autobahn/AutobahnTests.java
index 3a9d7c5a0fee..e0299c984c52 100644
--- a/jetty-websocket/websocket-core-tests/src/test/java/org/eclipse/jetty/websocket/core/autobahn/AutobahnTests.java
+++ b/jetty-websocket/websocket-core-tests/src/test/java/org/eclipse/jetty/websocket/core/autobahn/AutobahnTests.java
@@ -42,7 +42,6 @@
import org.json.simple.parser.JSONParser;
import org.json.simple.parser.ParseException;
import org.junit.jupiter.api.BeforeAll;
-import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/jetty-websocket/websocket-javax-client/src/main/java/org/eclipse/jetty/websocket/javax/client/internal/AnnotatedClientEndpointConfig.java b/jetty-websocket/websocket-javax-client/src/main/java/org/eclipse/jetty/websocket/javax/client/internal/AnnotatedClientEndpointConfig.java
index d123f34df909..979635b51229 100644
--- a/jetty-websocket/websocket-javax-client/src/main/java/org/eclipse/jetty/websocket/javax/client/internal/AnnotatedClientEndpointConfig.java
+++ b/jetty-websocket/websocket-javax-client/src/main/java/org/eclipse/jetty/websocket/javax/client/internal/AnnotatedClientEndpointConfig.java
@@ -23,7 +23,7 @@
import javax.websocket.ClientEndpoint;
import javax.websocket.ClientEndpointConfig;
-import org.eclipse.jetty.websocket.core.util.InvalidWebSocketException;
+import org.eclipse.jetty.websocket.core.exception.InvalidWebSocketException;
import org.eclipse.jetty.websocket.javax.common.ClientEndpointConfigWrapper;
public class AnnotatedClientEndpointConfig extends ClientEndpointConfigWrapper
diff --git a/jetty-websocket/websocket-javax-client/src/main/java/org/eclipse/jetty/websocket/javax/client/internal/JavaxWebSocketClientContainer.java b/jetty-websocket/websocket-javax-client/src/main/java/org/eclipse/jetty/websocket/javax/client/internal/JavaxWebSocketClientContainer.java
index 3fe54eac8b79..b13371b5e9f8 100644
--- a/jetty-websocket/websocket-javax-client/src/main/java/org/eclipse/jetty/websocket/javax/client/internal/JavaxWebSocketClientContainer.java
+++ b/jetty-websocket/websocket-javax-client/src/main/java/org/eclipse/jetty/websocket/javax/client/internal/JavaxWebSocketClientContainer.java
@@ -40,9 +40,9 @@
import org.eclipse.jetty.util.annotation.ManagedObject;
import org.eclipse.jetty.websocket.core.WebSocketComponents;
import org.eclipse.jetty.websocket.core.client.WebSocketCoreClient;
+import org.eclipse.jetty.websocket.core.exception.InvalidWebSocketException;
import org.eclipse.jetty.websocket.core.exception.UpgradeException;
import org.eclipse.jetty.websocket.core.exception.WebSocketTimeoutException;
-import org.eclipse.jetty.websocket.core.util.InvalidWebSocketException;
import org.eclipse.jetty.websocket.javax.common.ConfiguredEndpoint;
import org.eclipse.jetty.websocket.javax.common.JavaxWebSocketContainer;
import org.eclipse.jetty.websocket.javax.common.JavaxWebSocketExtensionConfig;
diff --git a/jetty-websocket/websocket-javax-common/src/main/java/org/eclipse/jetty/websocket/javax/common/JavaxWebSocketFrameHandlerFactory.java b/jetty-websocket/websocket-javax-common/src/main/java/org/eclipse/jetty/websocket/javax/common/JavaxWebSocketFrameHandlerFactory.java
index dda8252311d2..7dd72cc9e7c8 100644
--- a/jetty-websocket/websocket-javax-common/src/main/java/org/eclipse/jetty/websocket/javax/common/JavaxWebSocketFrameHandlerFactory.java
+++ b/jetty-websocket/websocket-javax-common/src/main/java/org/eclipse/jetty/websocket/javax/common/JavaxWebSocketFrameHandlerFactory.java
@@ -43,12 +43,12 @@
import org.eclipse.jetty.http.pathmap.UriTemplatePathSpec;
import org.eclipse.jetty.websocket.core.CoreSession;
+import org.eclipse.jetty.websocket.core.exception.InvalidSignatureException;
+import org.eclipse.jetty.websocket.core.exception.InvalidWebSocketException;
import org.eclipse.jetty.websocket.core.messages.MessageSink;
import org.eclipse.jetty.websocket.core.messages.PartialByteArrayMessageSink;
import org.eclipse.jetty.websocket.core.messages.PartialByteBufferMessageSink;
import org.eclipse.jetty.websocket.core.messages.PartialStringMessageSink;
-import org.eclipse.jetty.websocket.core.util.InvalidSignatureException;
-import org.eclipse.jetty.websocket.core.util.InvalidWebSocketException;
import org.eclipse.jetty.websocket.core.util.InvokerUtils;
import org.eclipse.jetty.websocket.core.util.ReflectUtils;
import org.eclipse.jetty.websocket.javax.common.decoders.RegisteredDecoder;
diff --git a/jetty-websocket/websocket-javax-common/src/main/java/org/eclipse/jetty/websocket/javax/common/JavaxWebSocketFrameHandlerMetadata.java b/jetty-websocket/websocket-javax-common/src/main/java/org/eclipse/jetty/websocket/javax/common/JavaxWebSocketFrameHandlerMetadata.java
index 66e3cbc4604d..f0870bac3a77 100644
--- a/jetty-websocket/websocket-javax-common/src/main/java/org/eclipse/jetty/websocket/javax/common/JavaxWebSocketFrameHandlerMetadata.java
+++ b/jetty-websocket/websocket-javax-common/src/main/java/org/eclipse/jetty/websocket/javax/common/JavaxWebSocketFrameHandlerMetadata.java
@@ -23,7 +23,7 @@
import javax.websocket.EndpointConfig;
import org.eclipse.jetty.http.pathmap.UriTemplatePathSpec;
-import org.eclipse.jetty.websocket.core.util.InvalidWebSocketException;
+import org.eclipse.jetty.websocket.core.exception.InvalidWebSocketException;
import org.eclipse.jetty.websocket.javax.common.decoders.AvailableDecoders;
import org.eclipse.jetty.websocket.javax.common.encoders.AvailableEncoders;
diff --git a/jetty-websocket/websocket-javax-common/src/main/java/org/eclipse/jetty/websocket/javax/common/decoders/AvailableDecoders.java b/jetty-websocket/websocket-javax-common/src/main/java/org/eclipse/jetty/websocket/javax/common/decoders/AvailableDecoders.java
index a9ce5e7cced9..8d0a7d75a3ce 100644
--- a/jetty-websocket/websocket-javax-common/src/main/java/org/eclipse/jetty/websocket/javax/common/decoders/AvailableDecoders.java
+++ b/jetty-websocket/websocket-javax-common/src/main/java/org/eclipse/jetty/websocket/javax/common/decoders/AvailableDecoders.java
@@ -30,8 +30,8 @@
import javax.websocket.Decoder;
import javax.websocket.EndpointConfig;
-import org.eclipse.jetty.websocket.core.util.InvalidSignatureException;
-import org.eclipse.jetty.websocket.core.util.InvalidWebSocketException;
+import org.eclipse.jetty.websocket.core.exception.InvalidSignatureException;
+import org.eclipse.jetty.websocket.core.exception.InvalidWebSocketException;
import org.eclipse.jetty.websocket.core.util.ReflectUtils;
public class AvailableDecoders implements Iterable
diff --git a/jetty-websocket/websocket-javax-common/src/main/java/org/eclipse/jetty/websocket/javax/common/encoders/AvailableEncoders.java b/jetty-websocket/websocket-javax-common/src/main/java/org/eclipse/jetty/websocket/javax/common/encoders/AvailableEncoders.java
index 74e8490865fc..a70e9ef46fde 100644
--- a/jetty-websocket/websocket-javax-common/src/main/java/org/eclipse/jetty/websocket/javax/common/encoders/AvailableEncoders.java
+++ b/jetty-websocket/websocket-javax-common/src/main/java/org/eclipse/jetty/websocket/javax/common/encoders/AvailableEncoders.java
@@ -29,8 +29,8 @@
import javax.websocket.Encoder;
import javax.websocket.EndpointConfig;
-import org.eclipse.jetty.websocket.core.util.InvalidSignatureException;
-import org.eclipse.jetty.websocket.core.util.InvalidWebSocketException;
+import org.eclipse.jetty.websocket.core.exception.InvalidSignatureException;
+import org.eclipse.jetty.websocket.core.exception.InvalidWebSocketException;
import org.eclipse.jetty.websocket.core.util.ReflectUtils;
import org.eclipse.jetty.websocket.javax.common.InitException;
diff --git a/jetty-websocket/websocket-javax-common/src/test/java/org/eclipse/jetty/websocket/javax/common/JavaxWebSocketFrameHandlerBadSignaturesTest.java b/jetty-websocket/websocket-javax-common/src/test/java/org/eclipse/jetty/websocket/javax/common/JavaxWebSocketFrameHandlerBadSignaturesTest.java
index b012e8098d7c..8a1cd30e2c6f 100644
--- a/jetty-websocket/websocket-javax-common/src/test/java/org/eclipse/jetty/websocket/javax/common/JavaxWebSocketFrameHandlerBadSignaturesTest.java
+++ b/jetty-websocket/websocket-javax-common/src/test/java/org/eclipse/jetty/websocket/javax/common/JavaxWebSocketFrameHandlerBadSignaturesTest.java
@@ -25,7 +25,7 @@
import javax.websocket.OnOpen;
import javax.websocket.Session;
-import org.eclipse.jetty.websocket.core.util.InvalidSignatureException;
+import org.eclipse.jetty.websocket.core.exception.InvalidSignatureException;
import org.junit.jupiter.api.Test;
import static org.hamcrest.MatcherAssert.assertThat;
diff --git a/jetty-websocket/websocket-javax-common/src/test/java/org/eclipse/jetty/websocket/javax/common/JavaxWebSocketFrameHandlerOnMessageBinaryTest.java b/jetty-websocket/websocket-javax-common/src/test/java/org/eclipse/jetty/websocket/javax/common/JavaxWebSocketFrameHandlerOnMessageBinaryTest.java
index d6f00afa3194..bb1e86b84eee 100644
--- a/jetty-websocket/websocket-javax-common/src/test/java/org/eclipse/jetty/websocket/javax/common/JavaxWebSocketFrameHandlerOnMessageBinaryTest.java
+++ b/jetty-websocket/websocket-javax-common/src/test/java/org/eclipse/jetty/websocket/javax/common/JavaxWebSocketFrameHandlerOnMessageBinaryTest.java
@@ -29,7 +29,7 @@
import org.eclipse.jetty.util.Callback;
import org.eclipse.jetty.websocket.core.Frame;
import org.eclipse.jetty.websocket.core.OpCode;
-import org.eclipse.jetty.websocket.core.util.InvalidSignatureException;
+import org.eclipse.jetty.websocket.core.exception.InvalidSignatureException;
import org.eclipse.jetty.websocket.javax.common.sockets.TrackingSocket;
import org.hamcrest.Matcher;
import org.junit.jupiter.api.Test;
diff --git a/jetty-websocket/websocket-javax-common/src/test/java/org/eclipse/jetty/websocket/javax/common/JavaxWebSocketFrameHandlerOnMessageTextTest.java b/jetty-websocket/websocket-javax-common/src/test/java/org/eclipse/jetty/websocket/javax/common/JavaxWebSocketFrameHandlerOnMessageTextTest.java
index f7dbd053290b..c7c598be805f 100644
--- a/jetty-websocket/websocket-javax-common/src/test/java/org/eclipse/jetty/websocket/javax/common/JavaxWebSocketFrameHandlerOnMessageTextTest.java
+++ b/jetty-websocket/websocket-javax-common/src/test/java/org/eclipse/jetty/websocket/javax/common/JavaxWebSocketFrameHandlerOnMessageTextTest.java
@@ -29,7 +29,7 @@
import org.eclipse.jetty.util.Callback;
import org.eclipse.jetty.websocket.core.Frame;
import org.eclipse.jetty.websocket.core.OpCode;
-import org.eclipse.jetty.websocket.core.util.InvalidSignatureException;
+import org.eclipse.jetty.websocket.core.exception.InvalidSignatureException;
import org.eclipse.jetty.websocket.javax.common.sockets.TrackingSocket;
import org.hamcrest.Matcher;
import org.junit.jupiter.api.Test;
diff --git a/jetty-websocket/websocket-javax-server/src/main/java/org/eclipse/jetty/websocket/javax/server/internal/JavaxWebSocketServerContainer.java b/jetty-websocket/websocket-javax-server/src/main/java/org/eclipse/jetty/websocket/javax/server/internal/JavaxWebSocketServerContainer.java
index 894038de8773..e1de17dfa6aa 100644
--- a/jetty-websocket/websocket-javax-server/src/main/java/org/eclipse/jetty/websocket/javax/server/internal/JavaxWebSocketServerContainer.java
+++ b/jetty-websocket/websocket-javax-server/src/main/java/org/eclipse/jetty/websocket/javax/server/internal/JavaxWebSocketServerContainer.java
@@ -37,9 +37,9 @@
import org.eclipse.jetty.util.component.LifeCycle;
import org.eclipse.jetty.websocket.core.WebSocketComponents;
import org.eclipse.jetty.websocket.core.client.WebSocketCoreClient;
+import org.eclipse.jetty.websocket.core.exception.InvalidSignatureException;
import org.eclipse.jetty.websocket.core.server.WebSocketMapping;
import org.eclipse.jetty.websocket.core.server.WebSocketServerComponents;
-import org.eclipse.jetty.websocket.core.util.InvalidSignatureException;
import org.eclipse.jetty.websocket.core.util.ReflectUtils;
import org.eclipse.jetty.websocket.javax.client.internal.JavaxWebSocketClientContainer;
import org.eclipse.jetty.websocket.javax.server.config.ContainerDefaultConfigurator;
diff --git a/jetty-websocket/websocket-javax-server/src/main/java/org/eclipse/jetty/websocket/javax/server/internal/PathParamIdentifier.java b/jetty-websocket/websocket-javax-server/src/main/java/org/eclipse/jetty/websocket/javax/server/internal/PathParamIdentifier.java
index 2e7fa162b319..b6751779f690 100644
--- a/jetty-websocket/websocket-javax-server/src/main/java/org/eclipse/jetty/websocket/javax/server/internal/PathParamIdentifier.java
+++ b/jetty-websocket/websocket-javax-server/src/main/java/org/eclipse/jetty/websocket/javax/server/internal/PathParamIdentifier.java
@@ -22,7 +22,7 @@
import java.lang.reflect.Method;
import javax.websocket.server.PathParam;
-import org.eclipse.jetty.websocket.core.util.InvalidSignatureException;
+import org.eclipse.jetty.websocket.core.exception.InvalidSignatureException;
import org.eclipse.jetty.websocket.core.util.InvokerUtils;
/**
diff --git a/jetty-websocket/websocket-javax-tests/src/test/java/org/eclipse/jetty/websocket/javax/tests/coders/AvailableDecodersTest.java b/jetty-websocket/websocket-javax-tests/src/test/java/org/eclipse/jetty/websocket/javax/tests/coders/AvailableDecodersTest.java
index 40be5379306d..2059159739e3 100644
--- a/jetty-websocket/websocket-javax-tests/src/test/java/org/eclipse/jetty/websocket/javax/tests/coders/AvailableDecodersTest.java
+++ b/jetty-websocket/websocket-javax-tests/src/test/java/org/eclipse/jetty/websocket/javax/tests/coders/AvailableDecodersTest.java
@@ -31,7 +31,7 @@
import javax.websocket.EndpointConfig;
import org.eclipse.jetty.toolchain.test.Hex;
-import org.eclipse.jetty.websocket.core.util.InvalidWebSocketException;
+import org.eclipse.jetty.websocket.core.exception.InvalidWebSocketException;
import org.eclipse.jetty.websocket.javax.common.decoders.AvailableDecoders;
import org.eclipse.jetty.websocket.javax.common.decoders.IntegerDecoder;
import org.eclipse.jetty.websocket.javax.common.decoders.RegisteredDecoder;
diff --git a/jetty-websocket/websocket-javax-tests/src/test/java/org/eclipse/jetty/websocket/javax/tests/coders/AvailableEncodersTest.java b/jetty-websocket/websocket-javax-tests/src/test/java/org/eclipse/jetty/websocket/javax/tests/coders/AvailableEncodersTest.java
index bca0d048710f..6c71fea89e5f 100644
--- a/jetty-websocket/websocket-javax-tests/src/test/java/org/eclipse/jetty/websocket/javax/tests/coders/AvailableEncodersTest.java
+++ b/jetty-websocket/websocket-javax-tests/src/test/java/org/eclipse/jetty/websocket/javax/tests/coders/AvailableEncodersTest.java
@@ -30,7 +30,7 @@
import javax.websocket.EndpointConfig;
import org.eclipse.jetty.toolchain.test.Hex;
-import org.eclipse.jetty.websocket.core.util.InvalidWebSocketException;
+import org.eclipse.jetty.websocket.core.exception.InvalidWebSocketException;
import org.eclipse.jetty.websocket.javax.client.internal.BasicClientEndpointConfig;
import org.eclipse.jetty.websocket.javax.common.encoders.AvailableEncoders;
import org.eclipse.jetty.websocket.javax.common.encoders.IntegerEncoder;
diff --git a/jetty-websocket/websocket-javax-tests/src/test/java/org/eclipse/jetty/websocket/javax/tests/coders/DecoderListTest.java b/jetty-websocket/websocket-javax-tests/src/test/java/org/eclipse/jetty/websocket/javax/tests/coders/DecoderListTest.java
index 52f1cf3d20a7..20ca7096ecae 100644
--- a/jetty-websocket/websocket-javax-tests/src/test/java/org/eclipse/jetty/websocket/javax/tests/coders/DecoderListTest.java
+++ b/jetty-websocket/websocket-javax-tests/src/test/java/org/eclipse/jetty/websocket/javax/tests/coders/DecoderListTest.java
@@ -39,7 +39,7 @@
import org.eclipse.jetty.servlet.ServletContextHandler;
import org.eclipse.jetty.util.BufferUtil;
import org.eclipse.jetty.util.IO;
-import org.eclipse.jetty.websocket.core.util.InvalidWebSocketException;
+import org.eclipse.jetty.websocket.core.exception.InvalidWebSocketException;
import org.eclipse.jetty.websocket.javax.client.internal.JavaxWebSocketClientContainer;
import org.eclipse.jetty.websocket.javax.common.decoders.AbstractDecoder;
import org.eclipse.jetty.websocket.javax.server.config.JavaxWebSocketServletContainerInitializer;
diff --git a/jetty-websocket/websocket-javax-tests/src/test/java/org/eclipse/jetty/websocket/javax/tests/server/DeploymentExceptionTest.java b/jetty-websocket/websocket-javax-tests/src/test/java/org/eclipse/jetty/websocket/javax/tests/server/DeploymentExceptionTest.java
index 0f54e8de10b8..467c0b87fa7d 100644
--- a/jetty-websocket/websocket-javax-tests/src/test/java/org/eclipse/jetty/websocket/javax/tests/server/DeploymentExceptionTest.java
+++ b/jetty-websocket/websocket-javax-tests/src/test/java/org/eclipse/jetty/websocket/javax/tests/server/DeploymentExceptionTest.java
@@ -29,7 +29,7 @@
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.server.handler.HandlerCollection;
import org.eclipse.jetty.servlet.ServletContextHandler;
-import org.eclipse.jetty.websocket.core.util.InvalidSignatureException;
+import org.eclipse.jetty.websocket.core.exception.InvalidSignatureException;
import org.eclipse.jetty.websocket.javax.server.config.JavaxWebSocketServletContainerInitializer;
import org.eclipse.jetty.websocket.javax.tests.server.sockets.InvalidCloseIntSocket;
import org.eclipse.jetty.websocket.javax.tests.server.sockets.InvalidErrorErrorSocket;
diff --git a/jetty-websocket/websocket-jetty-common/src/main/java/org/eclipse/jetty/websocket/common/JettyWebSocketFrameHandler.java b/jetty-websocket/websocket-jetty-common/src/main/java/org/eclipse/jetty/websocket/common/JettyWebSocketFrameHandler.java
index dbdc3a339334..ee189204fbcd 100644
--- a/jetty-websocket/websocket-jetty-common/src/main/java/org/eclipse/jetty/websocket/common/JettyWebSocketFrameHandler.java
+++ b/jetty-websocket/websocket-jetty-common/src/main/java/org/eclipse/jetty/websocket/common/JettyWebSocketFrameHandler.java
@@ -40,13 +40,13 @@
import org.eclipse.jetty.websocket.core.OpCode;
import org.eclipse.jetty.websocket.core.exception.BadPayloadException;
import org.eclipse.jetty.websocket.core.exception.CloseException;
+import org.eclipse.jetty.websocket.core.exception.InvalidSignatureException;
import org.eclipse.jetty.websocket.core.exception.MessageTooLargeException;
import org.eclipse.jetty.websocket.core.exception.ProtocolException;
import org.eclipse.jetty.websocket.core.exception.UpgradeException;
import org.eclipse.jetty.websocket.core.exception.WebSocketException;
import org.eclipse.jetty.websocket.core.exception.WebSocketTimeoutException;
import org.eclipse.jetty.websocket.core.messages.MessageSink;
-import org.eclipse.jetty.websocket.core.util.InvalidSignatureException;
import org.eclipse.jetty.websocket.core.util.InvokerUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/jetty-websocket/websocket-jetty-common/src/main/java/org/eclipse/jetty/websocket/common/JettyWebSocketFrameHandlerFactory.java b/jetty-websocket/websocket-jetty-common/src/main/java/org/eclipse/jetty/websocket/common/JettyWebSocketFrameHandlerFactory.java
index da09da6009f6..b3438e816dd9 100644
--- a/jetty-websocket/websocket-jetty-common/src/main/java/org/eclipse/jetty/websocket/common/JettyWebSocketFrameHandlerFactory.java
+++ b/jetty-websocket/websocket-jetty-common/src/main/java/org/eclipse/jetty/websocket/common/JettyWebSocketFrameHandlerFactory.java
@@ -51,6 +51,8 @@
import org.eclipse.jetty.websocket.api.annotations.OnWebSocketMessage;
import org.eclipse.jetty.websocket.api.annotations.WebSocket;
import org.eclipse.jetty.websocket.core.CoreSession;
+import org.eclipse.jetty.websocket.core.exception.InvalidSignatureException;
+import org.eclipse.jetty.websocket.core.exception.InvalidWebSocketException;
import org.eclipse.jetty.websocket.core.messages.ByteArrayMessageSink;
import org.eclipse.jetty.websocket.core.messages.ByteBufferMessageSink;
import org.eclipse.jetty.websocket.core.messages.InputStreamMessageSink;
@@ -59,8 +61,6 @@
import org.eclipse.jetty.websocket.core.messages.PartialStringMessageSink;
import org.eclipse.jetty.websocket.core.messages.ReaderMessageSink;
import org.eclipse.jetty.websocket.core.messages.StringMessageSink;
-import org.eclipse.jetty.websocket.core.util.InvalidSignatureException;
-import org.eclipse.jetty.websocket.core.util.InvalidWebSocketException;
import org.eclipse.jetty.websocket.core.util.InvokerUtils;
import org.eclipse.jetty.websocket.core.util.ReflectUtils;
diff --git a/jetty-websocket/websocket-jetty-common/src/test/java/org/eclipse/jetty/websocket/common/LocalEndpointMetadataTest.java b/jetty-websocket/websocket-jetty-common/src/test/java/org/eclipse/jetty/websocket/common/LocalEndpointMetadataTest.java
index 45bbdaf40cfa..916c9bbedef1 100644
--- a/jetty-websocket/websocket-jetty-common/src/test/java/org/eclipse/jetty/websocket/common/LocalEndpointMetadataTest.java
+++ b/jetty-websocket/websocket-jetty-common/src/test/java/org/eclipse/jetty/websocket/common/LocalEndpointMetadataTest.java
@@ -19,12 +19,12 @@
package org.eclipse.jetty.websocket.common;
import org.eclipse.jetty.websocket.api.exceptions.InvalidWebSocketException;
+import org.eclipse.jetty.websocket.core.exception.DuplicateAnnotationException;
+import org.eclipse.jetty.websocket.core.exception.InvalidSignatureException;
import org.eclipse.jetty.websocket.core.messages.ByteArrayMessageSink;
import org.eclipse.jetty.websocket.core.messages.InputStreamMessageSink;
import org.eclipse.jetty.websocket.core.messages.ReaderMessageSink;
import org.eclipse.jetty.websocket.core.messages.StringMessageSink;
-import org.eclipse.jetty.websocket.core.util.DuplicateAnnotationException;
-import org.eclipse.jetty.websocket.core.util.InvalidSignatureException;
import org.hamcrest.Matcher;
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.BeforeAll;
diff --git a/jetty-websocket/websocket-jetty-tests/src/test/java/org/eclipse/jetty/websocket/tests/JettyWebSocketNegotiationTest.java b/jetty-websocket/websocket-jetty-tests/src/test/java/org/eclipse/jetty/websocket/tests/JettyWebSocketNegotiationTest.java
index 7e81b1a24af8..af0618d12c73 100644
--- a/jetty-websocket/websocket-jetty-tests/src/test/java/org/eclipse/jetty/websocket/tests/JettyWebSocketNegotiationTest.java
+++ b/jetty-websocket/websocket-jetty-tests/src/test/java/org/eclipse/jetty/websocket/tests/JettyWebSocketNegotiationTest.java
@@ -22,7 +22,10 @@
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.TimeUnit;
+import java.util.concurrent.atomic.AtomicReference;
+import org.eclipse.jetty.client.HttpRequest;
+import org.eclipse.jetty.client.HttpResponse;
import org.eclipse.jetty.logging.StacklessLogging;
import org.eclipse.jetty.server.HttpChannel;
import org.eclipse.jetty.server.Server;
@@ -30,11 +33,14 @@
import org.eclipse.jetty.servlet.ServletContextHandler;
import org.eclipse.jetty.websocket.api.Session;
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.config.JettyWebSocketServletContainerInitializer;
+import org.hamcrest.Matchers;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
import static org.hamcrest.MatcherAssert.assertThat;
@@ -110,4 +116,41 @@ public void testServerError() throws Exception
assertThat(t.getMessage(), containsString("500 Server Error"));
}
}
+
+ @Disabled("Work in progress; ServerUpgradeResponse in websocket-core throws NPEs")
+ @Test
+ public void testManualNegotiationInCreator() throws Exception
+ {
+ JettyWebSocketServerContainer container = JettyWebSocketServerContainer.getContainer(contextHandler.getServletContext());
+ container.addMapping("/", (req, resp) ->
+ {
+ long matchedExts = req.getExtensions().stream()
+ .filter(ec -> "permessage-deflate".equals(ec.getName()))
+ .filter(ec -> ec.getParameters().containsKey("client_no_context_takeover"))
+ .count();
+ assertThat(matchedExts, Matchers.is(1L));
+
+ // Manually drop the param so it is not negotiated in the extension stack.
+ resp.setHeader("Sec-WebSocket-Extensions", "permessage-deflate");
+ return new EchoSocket();
+ });
+
+ URI uri = URI.create("ws://localhost:" + connector.getLocalPort() + "/filterPath");
+ EventSocket socket = new EventSocket();
+ AtomicReference responseReference = new AtomicReference<>();
+ ClientUpgradeRequest upgradeRequest = new ClientUpgradeRequest();
+ upgradeRequest.addExtensions("permessage-deflate;client_no_context_takeover");
+ JettyUpgradeListener upgradeListener = new JettyUpgradeListener()
+ {
+ @Override
+ public void onHandshakeResponse(HttpRequest request, HttpResponse response)
+ {
+ responseReference.set(response);
+ }
+ };
+
+ client.connect(socket, uri, upgradeRequest, upgradeListener).get(5, TimeUnit.SECONDS);
+ HttpResponse httpResponse = responseReference.get();
+ System.err.println(httpResponse.getHeaders());
+ }
}
From 31cd606d5947dfa933d24ea932b47eb81202ad6b Mon Sep 17 00:00:00 2001
From: Lachlan Roberts
Date: Fri, 20 Nov 2020 16:20:46 +1100
Subject: [PATCH 07/21] move MessageSinks and util to internal package
Signed-off-by: Lachlan Roberts
---
.../src/main/java/module-info.java | 2 --
.../DuplicateAnnotationException.java | 2 +-
.../exception/InvalidSignatureException.java | 2 +-
.../core/{ => internal}/MessageHandler.java | 7 ++++++-
.../messages/AbstractMessageSink.java | 2 +-
.../messages/ByteArrayMessageSink.java | 2 +-
.../messages/ByteBufferMessageSink.java | 2 +-
.../messages/DispatchedMessageSink.java | 2 +-
.../messages/InputStreamMessageSink.java | 2 +-
.../messages/MessageInputStream.java | 2 +-
.../messages/MessageOutputStream.java | 2 +-
.../messages/MessageReader.java | 2 +-
.../{ => internal}/messages/MessageSink.java | 2 +-
.../messages/MessageWriter.java | 2 +-
.../messages/PartialByteArrayMessageSink.java | 2 +-
.../PartialByteBufferMessageSink.java | 2 +-
.../messages/PartialStringMessageSink.java | 2 +-
.../messages/ReaderMessageSink.java | 2 +-
.../messages/StringMessageSink.java | 2 +-
.../{ => internal}/util/InvokerUtils.java | 2 +-
.../{ => internal}/util/ReflectUtils.java | 2 +-
.../core/{ => internal}/util/TextUtils.java | 2 +-
.../websocket/core/MessageHandlerTest.java | 1 +
.../websocket/core/TestMessageHandler.java | 1 +
.../core/autobahn/CoreAutobahnClient.java | 2 +-
.../core/chat/ChatWebSocketClient.java | 2 +-
.../core/chat/ChatWebSocketServer.java | 2 +-
.../core/util/MessageReaderTest.java | 2 +-
.../core/util/MessageWriterTest.java | 2 +-
.../util/PartialStringMessageSinkTest.java | 2 +-
.../core/util/StringMessageSinkTest.java | 2 +-
...vaxWebSocketClientFrameHandlerFactory.java | 2 +-
.../common/JavaxWebSocketAsyncRemote.java | 6 +++---
.../common/JavaxWebSocketBasicRemote.java | 2 +-
.../common/JavaxWebSocketFrameHandler.java | 10 +++++-----
.../JavaxWebSocketFrameHandlerFactory.java | 12 +++++------
.../common/JavaxWebSocketMessageMetadata.java | 2 +-
.../common/JavaxWebSocketRemoteEndpoint.java | 4 ++--
.../javax/common/JavaxWebSocketSession.java | 2 +-
.../common/decoders/AvailableDecoders.java | 2 +-
.../common/encoders/AvailableEncoders.java | 2 +-
.../messages/AbstractDecodedMessageSink.java | 2 +-
.../messages/DecodedBinaryMessageSink.java | 4 ++--
.../DecodedBinaryStreamMessageSink.java | 4 ++--
.../messages/DecodedTextMessageSink.java | 4 ++--
.../DecodedTextStreamMessageSink.java | 4 ++--
.../common/DummyFrameHandlerFactory.java | 2 +-
.../messages/InputStreamMessageSinkTest.java | 2 +-
.../messages/ReaderMessageSinkTest.java | 2 +-
.../util/InvokerUtilsStaticParamsTest.java | 4 ++--
.../javax/common/util/InvokerUtilsTest.java | 4 ++--
.../common/util/NameParamIdentifier.java | 2 +-
.../javax/common/util/ReflectUtilsTest.java | 2 +-
.../JavaxWebSocketServerContainer.java | 2 +-
.../server/internal/PathParamIdentifier.java | 2 +-
.../tests/CompletableFutureMethodHandle.java | 4 ++--
.../framehandlers/FrameHandlerTracker.java | 2 +-
.../javax/tests/framehandlers/StaticText.java | 2 +-
.../tests/framehandlers/WholeMessageEcho.java | 2 +-
.../tests/matchers/IsMessageHandlerType.java | 2 +-
.../client/DecoderReaderManySmallTest.java | 2 +-
.../tests/client/MessageReceivingTest.java | 4 ++--
.../common/JettyWebSocketFrameHandler.java | 4 ++--
.../JettyWebSocketFrameHandlerFactory.java | 20 +++++++++----------
.../JettyWebSocketFrameHandlerMetadata.java | 2 +-
.../jetty/websocket/common/EndPoints.java | 2 +-
.../common/LocalEndpointMetadataTest.java | 8 ++++----
.../common/MessageInputStreamTest.java | 2 +-
.../common/MessageOutputStreamTest.java | 2 +-
.../common/OutgoingMessageCapture.java | 6 +++---
.../common/invoke/InvokerUtilsTest.java | 4 ++--
.../common/invoke/NameParamIdentifier.java | 2 +-
.../server/JettyWebSocketServerContainer.java | 2 +-
.../tests/server/PartialListenerTest.java | 2 +-
74 files changed, 114 insertions(+), 109 deletions(-)
rename jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/{ => internal}/MessageHandler.java (97%)
rename jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/{ => internal}/messages/AbstractMessageSink.java (95%)
rename jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/{ => internal}/messages/ByteArrayMessageSink.java (98%)
rename jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/{ => internal}/messages/ByteBufferMessageSink.java (98%)
rename jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/{ => internal}/messages/DispatchedMessageSink.java (99%)
rename jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/{ => internal}/messages/InputStreamMessageSink.java (95%)
rename jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/{ => internal}/messages/MessageInputStream.java (99%)
rename jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/{ => internal}/messages/MessageOutputStream.java (99%)
rename jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/{ => internal}/messages/MessageReader.java (98%)
rename jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/{ => internal}/messages/MessageSink.java (95%)
rename jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/{ => internal}/messages/MessageWriter.java (97%)
rename jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/{ => internal}/messages/PartialByteArrayMessageSink.java (96%)
rename jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/{ => internal}/messages/PartialByteBufferMessageSink.java (96%)
rename jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/{ => internal}/messages/PartialStringMessageSink.java (97%)
rename jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/{ => internal}/messages/ReaderMessageSink.java (95%)
rename jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/{ => internal}/messages/StringMessageSink.java (97%)
rename jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/{ => internal}/util/InvokerUtils.java (99%)
rename jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/{ => internal}/util/ReflectUtils.java (99%)
rename jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/{ => internal}/util/TextUtils.java (98%)
diff --git a/jetty-websocket/websocket-core-common/src/main/java/module-info.java b/jetty-websocket/websocket-core-common/src/main/java/module-info.java
index 18253eb25ca6..43087904262a 100644
--- a/jetty-websocket/websocket-core-common/src/main/java/module-info.java
+++ b/jetty-websocket/websocket-core-common/src/main/java/module-info.java
@@ -25,8 +25,6 @@
module org.eclipse.jetty.websocket.core.common
{
exports org.eclipse.jetty.websocket.core;
- exports org.eclipse.jetty.websocket.core.util;
- exports org.eclipse.jetty.websocket.core.messages;
exports org.eclipse.jetty.websocket.core.exception;
exports org.eclipse.jetty.websocket.core.internal to org.eclipse.jetty.websocket.core.client, org.eclipse.jetty.websocket.core.server, org.eclipse.jetty.util;
diff --git a/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/exception/DuplicateAnnotationException.java b/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/exception/DuplicateAnnotationException.java
index e02985865437..f868c5d78644 100644
--- a/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/exception/DuplicateAnnotationException.java
+++ b/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/exception/DuplicateAnnotationException.java
@@ -21,7 +21,7 @@
import java.lang.annotation.Annotation;
import java.lang.reflect.Method;
-import org.eclipse.jetty.websocket.core.util.ReflectUtils;
+import org.eclipse.jetty.websocket.core.internal.util.ReflectUtils;
@SuppressWarnings("serial")
public class DuplicateAnnotationException extends InvalidWebSocketException
diff --git a/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/exception/InvalidSignatureException.java b/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/exception/InvalidSignatureException.java
index 81119b908d2d..8c780d7c61b2 100644
--- a/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/exception/InvalidSignatureException.java
+++ b/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/exception/InvalidSignatureException.java
@@ -22,7 +22,7 @@
import java.lang.invoke.MethodType;
import java.lang.reflect.Method;
-import org.eclipse.jetty.websocket.core.util.ReflectUtils;
+import org.eclipse.jetty.websocket.core.internal.util.ReflectUtils;
@SuppressWarnings("serial")
public class InvalidSignatureException extends InvalidWebSocketException
diff --git a/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/MessageHandler.java b/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/internal/MessageHandler.java
similarity index 97%
rename from jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/MessageHandler.java
rename to jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/internal/MessageHandler.java
index 3c9ee20ca9af..20239959fb96 100644
--- a/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/MessageHandler.java
+++ b/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/internal/MessageHandler.java
@@ -16,7 +16,7 @@
// ========================================================================
//
-package org.eclipse.jetty.websocket.core;
+package org.eclipse.jetty.websocket.core.internal;
import java.io.ByteArrayOutputStream;
import java.nio.ByteBuffer;
@@ -27,6 +27,11 @@
import org.eclipse.jetty.util.IteratingNestedCallback;
import org.eclipse.jetty.util.Utf8Appendable;
import org.eclipse.jetty.util.Utf8StringBuilder;
+import org.eclipse.jetty.websocket.core.CloseStatus;
+import org.eclipse.jetty.websocket.core.CoreSession;
+import org.eclipse.jetty.websocket.core.Frame;
+import org.eclipse.jetty.websocket.core.FrameHandler;
+import org.eclipse.jetty.websocket.core.OpCode;
import org.eclipse.jetty.websocket.core.exception.BadPayloadException;
import org.eclipse.jetty.websocket.core.exception.MessageTooLargeException;
import org.slf4j.Logger;
diff --git a/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/messages/AbstractMessageSink.java b/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/internal/messages/AbstractMessageSink.java
similarity index 95%
rename from jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/messages/AbstractMessageSink.java
rename to jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/internal/messages/AbstractMessageSink.java
index 906753d05c9d..e91595cb8fe6 100644
--- a/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/messages/AbstractMessageSink.java
+++ b/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/internal/messages/AbstractMessageSink.java
@@ -16,7 +16,7 @@
// ========================================================================
//
-package org.eclipse.jetty.websocket.core.messages;
+package org.eclipse.jetty.websocket.core.internal.messages;
import java.lang.invoke.MethodHandle;
import java.util.Objects;
diff --git a/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/messages/ByteArrayMessageSink.java b/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/internal/messages/ByteArrayMessageSink.java
similarity index 98%
rename from jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/messages/ByteArrayMessageSink.java
rename to jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/internal/messages/ByteArrayMessageSink.java
index 3fdd833406a1..414b353f8198 100644
--- a/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/messages/ByteArrayMessageSink.java
+++ b/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/internal/messages/ByteArrayMessageSink.java
@@ -16,7 +16,7 @@
// ========================================================================
//
-package org.eclipse.jetty.websocket.core.messages;
+package org.eclipse.jetty.websocket.core.internal.messages;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
diff --git a/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/messages/ByteBufferMessageSink.java b/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/internal/messages/ByteBufferMessageSink.java
similarity index 98%
rename from jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/messages/ByteBufferMessageSink.java
rename to jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/internal/messages/ByteBufferMessageSink.java
index 0d1dadaaa85f..4273d1853cb3 100644
--- a/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/messages/ByteBufferMessageSink.java
+++ b/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/internal/messages/ByteBufferMessageSink.java
@@ -16,7 +16,7 @@
// ========================================================================
//
-package org.eclipse.jetty.websocket.core.messages;
+package org.eclipse.jetty.websocket.core.internal.messages;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
diff --git a/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/messages/DispatchedMessageSink.java b/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/internal/messages/DispatchedMessageSink.java
similarity index 99%
rename from jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/messages/DispatchedMessageSink.java
rename to jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/internal/messages/DispatchedMessageSink.java
index e6cf09465577..f3a1d3e9bec5 100644
--- a/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/messages/DispatchedMessageSink.java
+++ b/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/internal/messages/DispatchedMessageSink.java
@@ -16,7 +16,7 @@
// ========================================================================
//
-package org.eclipse.jetty.websocket.core.messages;
+package org.eclipse.jetty.websocket.core.internal.messages;
import java.io.Closeable;
import java.lang.invoke.MethodHandle;
diff --git a/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/messages/InputStreamMessageSink.java b/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/internal/messages/InputStreamMessageSink.java
similarity index 95%
rename from jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/messages/InputStreamMessageSink.java
rename to jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/internal/messages/InputStreamMessageSink.java
index 33ede2cbd1ed..373c9dda7d4a 100644
--- a/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/messages/InputStreamMessageSink.java
+++ b/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/internal/messages/InputStreamMessageSink.java
@@ -16,7 +16,7 @@
// ========================================================================
//
-package org.eclipse.jetty.websocket.core.messages;
+package org.eclipse.jetty.websocket.core.internal.messages;
import java.lang.invoke.MethodHandle;
diff --git a/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/messages/MessageInputStream.java b/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/internal/messages/MessageInputStream.java
similarity index 99%
rename from jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/messages/MessageInputStream.java
rename to jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/internal/messages/MessageInputStream.java
index aec7efe43799..1fdbadcca173 100644
--- a/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/messages/MessageInputStream.java
+++ b/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/internal/messages/MessageInputStream.java
@@ -16,7 +16,7 @@
// ========================================================================
//
-package org.eclipse.jetty.websocket.core.messages;
+package org.eclipse.jetty.websocket.core.internal.messages;
import java.io.IOException;
import java.io.InputStream;
diff --git a/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/messages/MessageOutputStream.java b/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/internal/messages/MessageOutputStream.java
similarity index 99%
rename from jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/messages/MessageOutputStream.java
rename to jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/internal/messages/MessageOutputStream.java
index cf9f4c565471..f1083b56549f 100644
--- a/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/messages/MessageOutputStream.java
+++ b/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/internal/messages/MessageOutputStream.java
@@ -16,7 +16,7 @@
// ========================================================================
//
-package org.eclipse.jetty.websocket.core.messages;
+package org.eclipse.jetty.websocket.core.internal.messages;
import java.io.IOException;
import java.io.OutputStream;
diff --git a/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/messages/MessageReader.java b/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/internal/messages/MessageReader.java
similarity index 98%
rename from jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/messages/MessageReader.java
rename to jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/internal/messages/MessageReader.java
index 127b1c9c2372..3e513ce8cd4f 100644
--- a/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/messages/MessageReader.java
+++ b/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/internal/messages/MessageReader.java
@@ -16,7 +16,7 @@
// ========================================================================
//
-package org.eclipse.jetty.websocket.core.messages;
+package org.eclipse.jetty.websocket.core.internal.messages;
import java.io.IOException;
import java.io.Reader;
diff --git a/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/messages/MessageSink.java b/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/internal/messages/MessageSink.java
similarity index 95%
rename from jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/messages/MessageSink.java
rename to jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/internal/messages/MessageSink.java
index fc60f2424bac..a014ff0ee322 100644
--- a/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/messages/MessageSink.java
+++ b/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/internal/messages/MessageSink.java
@@ -16,7 +16,7 @@
// ========================================================================
//
-package org.eclipse.jetty.websocket.core.messages;
+package org.eclipse.jetty.websocket.core.internal.messages;
import org.eclipse.jetty.util.Callback;
import org.eclipse.jetty.websocket.core.Frame;
diff --git a/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/messages/MessageWriter.java b/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/internal/messages/MessageWriter.java
similarity index 97%
rename from jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/messages/MessageWriter.java
rename to jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/internal/messages/MessageWriter.java
index f313cbea9dd6..ec4b41f3139d 100644
--- a/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/messages/MessageWriter.java
+++ b/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/internal/messages/MessageWriter.java
@@ -16,7 +16,7 @@
// ========================================================================
//
-package org.eclipse.jetty.websocket.core.messages;
+package org.eclipse.jetty.websocket.core.internal.messages;
import java.io.IOException;
import java.io.Writer;
diff --git a/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/messages/PartialByteArrayMessageSink.java b/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/internal/messages/PartialByteArrayMessageSink.java
similarity index 96%
rename from jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/messages/PartialByteArrayMessageSink.java
rename to jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/internal/messages/PartialByteArrayMessageSink.java
index 2920268428d2..0f84e79ab55b 100644
--- a/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/messages/PartialByteArrayMessageSink.java
+++ b/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/internal/messages/PartialByteArrayMessageSink.java
@@ -16,7 +16,7 @@
// ========================================================================
//
-package org.eclipse.jetty.websocket.core.messages;
+package org.eclipse.jetty.websocket.core.internal.messages;
import java.lang.invoke.MethodHandle;
diff --git a/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/messages/PartialByteBufferMessageSink.java b/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/internal/messages/PartialByteBufferMessageSink.java
similarity index 96%
rename from jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/messages/PartialByteBufferMessageSink.java
rename to jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/internal/messages/PartialByteBufferMessageSink.java
index 2bc1c76c19df..3df06633dec6 100644
--- a/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/messages/PartialByteBufferMessageSink.java
+++ b/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/internal/messages/PartialByteBufferMessageSink.java
@@ -16,7 +16,7 @@
// ========================================================================
//
-package org.eclipse.jetty.websocket.core.messages;
+package org.eclipse.jetty.websocket.core.internal.messages;
import java.lang.invoke.MethodHandle;
diff --git a/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/messages/PartialStringMessageSink.java b/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/internal/messages/PartialStringMessageSink.java
similarity index 97%
rename from jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/messages/PartialStringMessageSink.java
rename to jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/internal/messages/PartialStringMessageSink.java
index d1addbcc4062..360e6d3ad3c3 100644
--- a/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/messages/PartialStringMessageSink.java
+++ b/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/internal/messages/PartialStringMessageSink.java
@@ -16,7 +16,7 @@
// ========================================================================
//
-package org.eclipse.jetty.websocket.core.messages;
+package org.eclipse.jetty.websocket.core.internal.messages;
import java.lang.invoke.MethodHandle;
import java.util.Objects;
diff --git a/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/messages/ReaderMessageSink.java b/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/internal/messages/ReaderMessageSink.java
similarity index 95%
rename from jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/messages/ReaderMessageSink.java
rename to jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/internal/messages/ReaderMessageSink.java
index 978b0aef241c..37bf49eb3026 100644
--- a/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/messages/ReaderMessageSink.java
+++ b/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/internal/messages/ReaderMessageSink.java
@@ -16,7 +16,7 @@
// ========================================================================
//
-package org.eclipse.jetty.websocket.core.messages;
+package org.eclipse.jetty.websocket.core.internal.messages;
import java.lang.invoke.MethodHandle;
diff --git a/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/messages/StringMessageSink.java b/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/internal/messages/StringMessageSink.java
similarity index 97%
rename from jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/messages/StringMessageSink.java
rename to jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/internal/messages/StringMessageSink.java
index aeac579cde16..dabf1024d67e 100644
--- a/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/messages/StringMessageSink.java
+++ b/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/internal/messages/StringMessageSink.java
@@ -16,7 +16,7 @@
// ========================================================================
//
-package org.eclipse.jetty.websocket.core.messages;
+package org.eclipse.jetty.websocket.core.internal.messages;
import java.lang.invoke.MethodHandle;
diff --git a/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/util/InvokerUtils.java b/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/internal/util/InvokerUtils.java
similarity index 99%
rename from jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/util/InvokerUtils.java
rename to jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/internal/util/InvokerUtils.java
index da5d5596c668..a24f065794c2 100644
--- a/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/util/InvokerUtils.java
+++ b/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/internal/util/InvokerUtils.java
@@ -16,7 +16,7 @@
// ========================================================================
//
-package org.eclipse.jetty.websocket.core.util;
+package org.eclipse.jetty.websocket.core.internal.util;
import java.lang.invoke.MethodHandle;
import java.lang.invoke.MethodHandles;
diff --git a/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/util/ReflectUtils.java b/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/internal/util/ReflectUtils.java
similarity index 99%
rename from jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/util/ReflectUtils.java
rename to jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/internal/util/ReflectUtils.java
index e54abda25472..62530c4b854d 100644
--- a/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/util/ReflectUtils.java
+++ b/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/internal/util/ReflectUtils.java
@@ -16,7 +16,7 @@
// ========================================================================
//
-package org.eclipse.jetty.websocket.core.util;
+package org.eclipse.jetty.websocket.core.internal.util;
import java.lang.annotation.Annotation;
import java.lang.invoke.MethodType;
diff --git a/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/util/TextUtils.java b/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/internal/util/TextUtils.java
similarity index 98%
rename from jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/util/TextUtils.java
rename to jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/internal/util/TextUtils.java
index 3e0a6c39072e..5f96bf616b7d 100644
--- a/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/util/TextUtils.java
+++ b/jetty-websocket/websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/internal/util/TextUtils.java
@@ -16,7 +16,7 @@
// ========================================================================
//
-package org.eclipse.jetty.websocket.core.util;
+package org.eclipse.jetty.websocket.core.internal.util;
/**
* Collection of utility methods for Text content
diff --git a/jetty-websocket/websocket-core-tests/src/test/java/org/eclipse/jetty/websocket/core/MessageHandlerTest.java b/jetty-websocket/websocket-core-tests/src/test/java/org/eclipse/jetty/websocket/core/MessageHandlerTest.java
index fc14e360b83a..d14be334d8a0 100644
--- a/jetty-websocket/websocket-core-tests/src/test/java/org/eclipse/jetty/websocket/core/MessageHandlerTest.java
+++ b/jetty-websocket/websocket-core-tests/src/test/java/org/eclipse/jetty/websocket/core/MessageHandlerTest.java
@@ -31,6 +31,7 @@
import org.eclipse.jetty.util.FutureCallback;
import org.eclipse.jetty.websocket.core.exception.BadPayloadException;
import org.eclipse.jetty.websocket.core.exception.MessageTooLargeException;
+import org.eclipse.jetty.websocket.core.internal.MessageHandler;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
diff --git a/jetty-websocket/websocket-core-tests/src/test/java/org/eclipse/jetty/websocket/core/TestMessageHandler.java b/jetty-websocket/websocket-core-tests/src/test/java/org/eclipse/jetty/websocket/core/TestMessageHandler.java
index b03310fabf00..0a026fdf1d37 100644
--- a/jetty-websocket/websocket-core-tests/src/test/java/org/eclipse/jetty/websocket/core/TestMessageHandler.java
+++ b/jetty-websocket/websocket-core-tests/src/test/java/org/eclipse/jetty/websocket/core/TestMessageHandler.java
@@ -24,6 +24,7 @@
import org.eclipse.jetty.util.BlockingArrayQueue;
import org.eclipse.jetty.util.Callback;
+import org.eclipse.jetty.websocket.core.internal.MessageHandler;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/jetty-websocket/websocket-core-tests/src/test/java/org/eclipse/jetty/websocket/core/autobahn/CoreAutobahnClient.java b/jetty-websocket/websocket-core-tests/src/test/java/org/eclipse/jetty/websocket/core/autobahn/CoreAutobahnClient.java
index 51e339423884..c3d6885789bb 100644
--- a/jetty-websocket/websocket-core-tests/src/test/java/org/eclipse/jetty/websocket/core/autobahn/CoreAutobahnClient.java
+++ b/jetty-websocket/websocket-core-tests/src/test/java/org/eclipse/jetty/websocket/core/autobahn/CoreAutobahnClient.java
@@ -28,10 +28,10 @@
import org.eclipse.jetty.util.Jetty;
import org.eclipse.jetty.util.UrlEncoded;
import org.eclipse.jetty.websocket.core.CoreSession;
-import org.eclipse.jetty.websocket.core.MessageHandler;
import org.eclipse.jetty.websocket.core.TestMessageHandler;
import org.eclipse.jetty.websocket.core.client.CoreClientUpgradeRequest;
import org.eclipse.jetty.websocket.core.client.WebSocketCoreClient;
+import org.eclipse.jetty.websocket.core.internal.MessageHandler;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/jetty-websocket/websocket-core-tests/src/test/java/org/eclipse/jetty/websocket/core/chat/ChatWebSocketClient.java b/jetty-websocket/websocket-core-tests/src/test/java/org/eclipse/jetty/websocket/core/chat/ChatWebSocketClient.java
index 9e4f85659d50..491f866a6a6e 100644
--- a/jetty-websocket/websocket-core-tests/src/test/java/org/eclipse/jetty/websocket/core/chat/ChatWebSocketClient.java
+++ b/jetty-websocket/websocket-core-tests/src/test/java/org/eclipse/jetty/websocket/core/chat/ChatWebSocketClient.java
@@ -28,9 +28,9 @@
import java.util.regex.Pattern;
import org.eclipse.jetty.util.Callback;
-import org.eclipse.jetty.websocket.core.MessageHandler;
import org.eclipse.jetty.websocket.core.client.CoreClientUpgradeRequest;
import org.eclipse.jetty.websocket.core.client.WebSocketCoreClient;
+import org.eclipse.jetty.websocket.core.internal.MessageHandler;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/jetty-websocket/websocket-core-tests/src/test/java/org/eclipse/jetty/websocket/core/chat/ChatWebSocketServer.java b/jetty-websocket/websocket-core-tests/src/test/java/org/eclipse/jetty/websocket/core/chat/ChatWebSocketServer.java
index 1c9fcb487245..ab54f772b596 100644
--- a/jetty-websocket/websocket-core-tests/src/test/java/org/eclipse/jetty/websocket/core/chat/ChatWebSocketServer.java
+++ b/jetty-websocket/websocket-core-tests/src/test/java/org/eclipse/jetty/websocket/core/chat/ChatWebSocketServer.java
@@ -37,8 +37,8 @@
import org.eclipse.jetty.websocket.core.CloseStatus;
import org.eclipse.jetty.websocket.core.CoreSession;
import org.eclipse.jetty.websocket.core.FrameHandler;
-import org.eclipse.jetty.websocket.core.MessageHandler;
import org.eclipse.jetty.websocket.core.WebSocketComponents;
+import org.eclipse.jetty.websocket.core.internal.MessageHandler;
import org.eclipse.jetty.websocket.core.server.WebSocketNegotiation;
import org.eclipse.jetty.websocket.core.server.WebSocketNegotiator;
import org.eclipse.jetty.websocket.core.server.WebSocketUpgradeHandler;
diff --git a/jetty-websocket/websocket-core-tests/src/test/java/org/eclipse/jetty/websocket/core/util/MessageReaderTest.java b/jetty-websocket/websocket-core-tests/src/test/java/org/eclipse/jetty/websocket/core/util/MessageReaderTest.java
index 51001b7385d8..b0b198253a41 100644
--- a/jetty-websocket/websocket-core-tests/src/test/java/org/eclipse/jetty/websocket/core/util/MessageReaderTest.java
+++ b/jetty-websocket/websocket-core-tests/src/test/java/org/eclipse/jetty/websocket/core/util/MessageReaderTest.java
@@ -31,7 +31,7 @@
import org.eclipse.jetty.util.StringUtil;
import org.eclipse.jetty.websocket.core.Frame;
import org.eclipse.jetty.websocket.core.OpCode;
-import org.eclipse.jetty.websocket.core.messages.MessageReader;
+import org.eclipse.jetty.websocket.core.internal.messages.MessageReader;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
diff --git a/jetty-websocket/websocket-core-tests/src/test/java/org/eclipse/jetty/websocket/core/util/MessageWriterTest.java b/jetty-websocket/websocket-core-tests/src/test/java/org/eclipse/jetty/websocket/core/util/MessageWriterTest.java
index 13b60e8b98d0..94362bd661e9 100644
--- a/jetty-websocket/websocket-core-tests/src/test/java/org/eclipse/jetty/websocket/core/util/MessageWriterTest.java
+++ b/jetty-websocket/websocket-core-tests/src/test/java/org/eclipse/jetty/websocket/core/util/MessageWriterTest.java
@@ -32,7 +32,7 @@
import org.eclipse.jetty.websocket.core.CoreSession;
import org.eclipse.jetty.websocket.core.Frame;
import org.eclipse.jetty.websocket.core.OpCode;
-import org.eclipse.jetty.websocket.core.messages.MessageWriter;
+import org.eclipse.jetty.websocket.core.internal.messages.MessageWriter;
import org.junit.jupiter.api.Test;
import static org.hamcrest.MatcherAssert.assertThat;
diff --git a/jetty-websocket/websocket-core-tests/src/test/java/org/eclipse/jetty/websocket/core/util/PartialStringMessageSinkTest.java b/jetty-websocket/websocket-core-tests/src/test/java/org/eclipse/jetty/websocket/core/util/PartialStringMessageSinkTest.java
index bc24e8eea599..9bf61014db88 100644
--- a/jetty-websocket/websocket-core-tests/src/test/java/org/eclipse/jetty/websocket/core/util/PartialStringMessageSinkTest.java
+++ b/jetty-websocket/websocket-core-tests/src/test/java/org/eclipse/jetty/websocket/core/util/PartialStringMessageSinkTest.java
@@ -34,7 +34,7 @@
import org.eclipse.jetty.websocket.core.CoreSession;
import org.eclipse.jetty.websocket.core.Frame;
import org.eclipse.jetty.websocket.core.OpCode;
-import org.eclipse.jetty.websocket.core.messages.PartialStringMessageSink;
+import org.eclipse.jetty.websocket.core.internal.messages.PartialStringMessageSink;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
diff --git a/jetty-websocket/websocket-core-tests/src/test/java/org/eclipse/jetty/websocket/core/util/StringMessageSinkTest.java b/jetty-websocket/websocket-core-tests/src/test/java/org/eclipse/jetty/websocket/core/util/StringMessageSinkTest.java
index cecbe355c6a1..ff7c0ea371b3 100644
--- a/jetty-websocket/websocket-core-tests/src/test/java/org/eclipse/jetty/websocket/core/util/StringMessageSinkTest.java
+++ b/jetty-websocket/websocket-core-tests/src/test/java/org/eclipse/jetty/websocket/core/util/StringMessageSinkTest.java
@@ -32,7 +32,7 @@
import org.eclipse.jetty.websocket.core.Frame;
import org.eclipse.jetty.websocket.core.OpCode;
import org.eclipse.jetty.websocket.core.exception.MessageTooLargeException;
-import org.eclipse.jetty.websocket.core.messages.StringMessageSink;
+import org.eclipse.jetty.websocket.core.internal.messages.StringMessageSink;
import org.junit.jupiter.api.Test;
import static org.hamcrest.MatcherAssert.assertThat;
diff --git a/jetty-websocket/websocket-javax-client/src/main/java/org/eclipse/jetty/websocket/javax/client/internal/JavaxWebSocketClientFrameHandlerFactory.java b/jetty-websocket/websocket-javax-client/src/main/java/org/eclipse/jetty/websocket/javax/client/internal/JavaxWebSocketClientFrameHandlerFactory.java
index b93715b619a4..b7c65ca7c8e2 100644
--- a/jetty-websocket/websocket-javax-client/src/main/java/org/eclipse/jetty/websocket/javax/client/internal/JavaxWebSocketClientFrameHandlerFactory.java
+++ b/jetty-websocket/websocket-javax-client/src/main/java/org/eclipse/jetty/websocket/javax/client/internal/JavaxWebSocketClientFrameHandlerFactory.java
@@ -21,7 +21,7 @@
import javax.websocket.ClientEndpoint;
import javax.websocket.EndpointConfig;
-import org.eclipse.jetty.websocket.core.util.InvokerUtils;
+import org.eclipse.jetty.websocket.core.internal.util.InvokerUtils;
import org.eclipse.jetty.websocket.javax.common.JavaxWebSocketContainer;
import org.eclipse.jetty.websocket.javax.common.JavaxWebSocketFrameHandlerFactory;
import org.eclipse.jetty.websocket.javax.common.JavaxWebSocketFrameHandlerMetadata;
diff --git a/jetty-websocket/websocket-javax-common/src/main/java/org/eclipse/jetty/websocket/javax/common/JavaxWebSocketAsyncRemote.java b/jetty-websocket/websocket-javax-common/src/main/java/org/eclipse/jetty/websocket/javax/common/JavaxWebSocketAsyncRemote.java
index 553945661955..8f169315ea11 100644
--- a/jetty-websocket/websocket-javax-common/src/main/java/org/eclipse/jetty/websocket/javax/common/JavaxWebSocketAsyncRemote.java
+++ b/jetty-websocket/websocket-javax-common/src/main/java/org/eclipse/jetty/websocket/javax/common/JavaxWebSocketAsyncRemote.java
@@ -31,9 +31,9 @@
import org.eclipse.jetty.websocket.core.CoreSession;
import org.eclipse.jetty.websocket.core.Frame;
import org.eclipse.jetty.websocket.core.OpCode;
-import org.eclipse.jetty.websocket.core.messages.MessageOutputStream;
-import org.eclipse.jetty.websocket.core.messages.MessageWriter;
-import org.eclipse.jetty.websocket.core.util.TextUtils;
+import org.eclipse.jetty.websocket.core.internal.messages.MessageOutputStream;
+import org.eclipse.jetty.websocket.core.internal.messages.MessageWriter;
+import org.eclipse.jetty.websocket.core.internal.util.TextUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/jetty-websocket/websocket-javax-common/src/main/java/org/eclipse/jetty/websocket/javax/common/JavaxWebSocketBasicRemote.java b/jetty-websocket/websocket-javax-common/src/main/java/org/eclipse/jetty/websocket/javax/common/JavaxWebSocketBasicRemote.java
index 3d443213e4dc..c7993dc2cd80 100644
--- a/jetty-websocket/websocket-javax-common/src/main/java/org/eclipse/jetty/websocket/javax/common/JavaxWebSocketBasicRemote.java
+++ b/jetty-websocket/websocket-javax-common/src/main/java/org/eclipse/jetty/websocket/javax/common/JavaxWebSocketBasicRemote.java
@@ -31,7 +31,7 @@
import org.eclipse.jetty.websocket.core.CoreSession;
import org.eclipse.jetty.websocket.core.Frame;
import org.eclipse.jetty.websocket.core.OpCode;
-import org.eclipse.jetty.websocket.core.util.TextUtils;
+import org.eclipse.jetty.websocket.core.internal.util.TextUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/jetty-websocket/websocket-javax-common/src/main/java/org/eclipse/jetty/websocket/javax/common/JavaxWebSocketFrameHandler.java b/jetty-websocket/websocket-javax-common/src/main/java/org/eclipse/jetty/websocket/javax/common/JavaxWebSocketFrameHandler.java
index eb50ec1b72de..29975cd6fc8c 100644
--- a/jetty-websocket/websocket-javax-common/src/main/java/org/eclipse/jetty/websocket/javax/common/JavaxWebSocketFrameHandler.java
+++ b/jetty-websocket/websocket-javax-common/src/main/java/org/eclipse/jetty/websocket/javax/common/JavaxWebSocketFrameHandler.java
@@ -45,11 +45,11 @@
import org.eclipse.jetty.websocket.core.OpCode;
import org.eclipse.jetty.websocket.core.exception.ProtocolException;
import org.eclipse.jetty.websocket.core.exception.WebSocketException;
-import org.eclipse.jetty.websocket.core.messages.MessageSink;
-import org.eclipse.jetty.websocket.core.messages.PartialByteArrayMessageSink;
-import org.eclipse.jetty.websocket.core.messages.PartialByteBufferMessageSink;
-import org.eclipse.jetty.websocket.core.messages.PartialStringMessageSink;
-import org.eclipse.jetty.websocket.core.util.InvokerUtils;
+import org.eclipse.jetty.websocket.core.internal.messages.MessageSink;
+import org.eclipse.jetty.websocket.core.internal.messages.PartialByteArrayMessageSink;
+import org.eclipse.jetty.websocket.core.internal.messages.PartialByteBufferMessageSink;
+import org.eclipse.jetty.websocket.core.internal.messages.PartialStringMessageSink;
+import org.eclipse.jetty.websocket.core.internal.util.InvokerUtils;
import org.eclipse.jetty.websocket.javax.common.decoders.AvailableDecoders;
import org.eclipse.jetty.websocket.javax.common.decoders.RegisteredDecoder;
import org.eclipse.jetty.websocket.javax.common.messages.DecodedBinaryMessageSink;
diff --git a/jetty-websocket/websocket-javax-common/src/main/java/org/eclipse/jetty/websocket/javax/common/JavaxWebSocketFrameHandlerFactory.java b/jetty-websocket/websocket-javax-common/src/main/java/org/eclipse/jetty/websocket/javax/common/JavaxWebSocketFrameHandlerFactory.java
index 7dd72cc9e7c8..ebdc6630456a 100644
--- a/jetty-websocket/websocket-javax-common/src/main/java/org/eclipse/jetty/websocket/javax/common/JavaxWebSocketFrameHandlerFactory.java
+++ b/jetty-websocket/websocket-javax-common/src/main/java/org/eclipse/jetty/websocket/javax/common/JavaxWebSocketFrameHandlerFactory.java
@@ -45,12 +45,12 @@
import org.eclipse.jetty.websocket.core.CoreSession;
import org.eclipse.jetty.websocket.core.exception.InvalidSignatureException;
import org.eclipse.jetty.websocket.core.exception.InvalidWebSocketException;
-import org.eclipse.jetty.websocket.core.messages.MessageSink;
-import org.eclipse.jetty.websocket.core.messages.PartialByteArrayMessageSink;
-import org.eclipse.jetty.websocket.core.messages.PartialByteBufferMessageSink;
-import org.eclipse.jetty.websocket.core.messages.PartialStringMessageSink;
-import org.eclipse.jetty.websocket.core.util.InvokerUtils;
-import org.eclipse.jetty.websocket.core.util.ReflectUtils;
+import org.eclipse.jetty.websocket.core.internal.messages.MessageSink;
+import org.eclipse.jetty.websocket.core.internal.messages.PartialByteArrayMessageSink;
+import org.eclipse.jetty.websocket.core.internal.messages.PartialByteBufferMessageSink;
+import org.eclipse.jetty.websocket.core.internal.messages.PartialStringMessageSink;
+import org.eclipse.jetty.websocket.core.internal.util.InvokerUtils;
+import org.eclipse.jetty.websocket.core.internal.util.ReflectUtils;
import org.eclipse.jetty.websocket.javax.common.decoders.RegisteredDecoder;
import org.eclipse.jetty.websocket.javax.common.messages.AbstractDecodedMessageSink;
import org.eclipse.jetty.websocket.javax.common.messages.DecodedBinaryMessageSink;
diff --git a/jetty-websocket/websocket-javax-common/src/main/java/org/eclipse/jetty/websocket/javax/common/JavaxWebSocketMessageMetadata.java b/jetty-websocket/websocket-javax-common/src/main/java/org/eclipse/jetty/websocket/javax/common/JavaxWebSocketMessageMetadata.java
index fd168632f427..2dbaf5fd2519 100644
--- a/jetty-websocket/websocket-javax-common/src/main/java/org/eclipse/jetty/websocket/javax/common/JavaxWebSocketMessageMetadata.java
+++ b/jetty-websocket/websocket-javax-common/src/main/java/org/eclipse/jetty/websocket/javax/common/JavaxWebSocketMessageMetadata.java
@@ -21,7 +21,7 @@
import java.lang.invoke.MethodHandle;
import java.util.List;
-import org.eclipse.jetty.websocket.core.messages.MessageSink;
+import org.eclipse.jetty.websocket.core.internal.messages.MessageSink;
import org.eclipse.jetty.websocket.javax.common.decoders.RegisteredDecoder;
public class JavaxWebSocketMessageMetadata
diff --git a/jetty-websocket/websocket-javax-common/src/main/java/org/eclipse/jetty/websocket/javax/common/JavaxWebSocketRemoteEndpoint.java b/jetty-websocket/websocket-javax-common/src/main/java/org/eclipse/jetty/websocket/javax/common/JavaxWebSocketRemoteEndpoint.java
index 26f80071c238..e837d4a4776e 100644
--- a/jetty-websocket/websocket-javax-common/src/main/java/org/eclipse/jetty/websocket/javax/common/JavaxWebSocketRemoteEndpoint.java
+++ b/jetty-websocket/websocket-javax-common/src/main/java/org/eclipse/jetty/websocket/javax/common/JavaxWebSocketRemoteEndpoint.java
@@ -34,8 +34,8 @@
import org.eclipse.jetty.websocket.core.OpCode;
import org.eclipse.jetty.websocket.core.OutgoingFrames;
import org.eclipse.jetty.websocket.core.exception.WebSocketException;
-import org.eclipse.jetty.websocket.core.messages.MessageOutputStream;
-import org.eclipse.jetty.websocket.core.messages.MessageWriter;
+import org.eclipse.jetty.websocket.core.internal.messages.MessageOutputStream;
+import org.eclipse.jetty.websocket.core.internal.messages.MessageWriter;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/jetty-websocket/websocket-javax-common/src/main/java/org/eclipse/jetty/websocket/javax/common/JavaxWebSocketSession.java b/jetty-websocket/websocket-javax-common/src/main/java/org/eclipse/jetty/websocket/javax/common/JavaxWebSocketSession.java
index c24b25845226..b97389d73297 100644
--- a/jetty-websocket/websocket-javax-common/src/main/java/org/eclipse/jetty/websocket/javax/common/JavaxWebSocketSession.java
+++ b/jetty-websocket/websocket-javax-common/src/main/java/org/eclipse/jetty/websocket/javax/common/JavaxWebSocketSession.java
@@ -43,7 +43,7 @@
import org.eclipse.jetty.util.FutureCallback;
import org.eclipse.jetty.websocket.core.CoreSession;
import org.eclipse.jetty.websocket.core.ExtensionConfig;
-import org.eclipse.jetty.websocket.core.util.ReflectUtils;
+import org.eclipse.jetty.websocket.core.internal.util.ReflectUtils;
import org.eclipse.jetty.websocket.javax.common.decoders.AvailableDecoders;
import org.eclipse.jetty.websocket.javax.common.encoders.AvailableEncoders;
import org.slf4j.Logger;
diff --git a/jetty-websocket/websocket-javax-common/src/main/java/org/eclipse/jetty/websocket/javax/common/decoders/AvailableDecoders.java b/jetty-websocket/websocket-javax-common/src/main/java/org/eclipse/jetty/websocket/javax/common/decoders/AvailableDecoders.java
index 8d0a7d75a3ce..25b3b5840328 100644
--- a/jetty-websocket/websocket-javax-common/src/main/java/org/eclipse/jetty/websocket/javax/common/decoders/AvailableDecoders.java
+++ b/jetty-websocket/websocket-javax-common/src/main/java/org/eclipse/jetty/websocket/javax/common/decoders/AvailableDecoders.java
@@ -32,7 +32,7 @@
import org.eclipse.jetty.websocket.core.exception.InvalidSignatureException;
import org.eclipse.jetty.websocket.core.exception.InvalidWebSocketException;
-import org.eclipse.jetty.websocket.core.util.ReflectUtils;
+import org.eclipse.jetty.websocket.core.internal.util.ReflectUtils;
public class AvailableDecoders implements Iterable
{
diff --git a/jetty-websocket/websocket-javax-common/src/main/java/org/eclipse/jetty/websocket/javax/common/encoders/AvailableEncoders.java b/jetty-websocket/websocket-javax-common/src/main/java/org/eclipse/jetty/websocket/javax/common/encoders/AvailableEncoders.java
index a70e9ef46fde..3bd0b70495fa 100644
--- a/jetty-websocket/websocket-javax-common/src/main/java/org/eclipse/jetty/websocket/javax/common/encoders/AvailableEncoders.java
+++ b/jetty-websocket/websocket-javax-common/src/main/java/org/eclipse/jetty/websocket/javax/common/encoders/AvailableEncoders.java
@@ -31,7 +31,7 @@
import org.eclipse.jetty.websocket.core.exception.InvalidSignatureException;
import org.eclipse.jetty.websocket.core.exception.InvalidWebSocketException;
-import org.eclipse.jetty.websocket.core.util.ReflectUtils;
+import org.eclipse.jetty.websocket.core.internal.util.ReflectUtils;
import org.eclipse.jetty.websocket.javax.common.InitException;
public class AvailableEncoders implements Predicate>
diff --git a/jetty-websocket/websocket-javax-common/src/main/java/org/eclipse/jetty/websocket/javax/common/messages/AbstractDecodedMessageSink.java b/jetty-websocket/websocket-javax-common/src/main/java/org/eclipse/jetty/websocket/javax/common/messages/AbstractDecodedMessageSink.java
index d8d76cd8f920..1ce2d09fc601 100644
--- a/jetty-websocket/websocket-javax-common/src/main/java/org/eclipse/jetty/websocket/javax/common/messages/AbstractDecodedMessageSink.java
+++ b/jetty-websocket/websocket-javax-common/src/main/java/org/eclipse/jetty/websocket/javax/common/messages/AbstractDecodedMessageSink.java
@@ -28,7 +28,7 @@
import org.eclipse.jetty.websocket.core.CoreSession;
import org.eclipse.jetty.websocket.core.Frame;
import org.eclipse.jetty.websocket.core.exception.CloseException;
-import org.eclipse.jetty.websocket.core.messages.MessageSink;
+import org.eclipse.jetty.websocket.core.internal.messages.MessageSink;
import org.eclipse.jetty.websocket.javax.common.decoders.RegisteredDecoder;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/jetty-websocket/websocket-javax-common/src/main/java/org/eclipse/jetty/websocket/javax/common/messages/DecodedBinaryMessageSink.java b/jetty-websocket/websocket-javax-common/src/main/java/org/eclipse/jetty/websocket/javax/common/messages/DecodedBinaryMessageSink.java
index 7b896904f47c..541ee79b20b6 100644
--- a/jetty-websocket/websocket-javax-common/src/main/java/org/eclipse/jetty/websocket/javax/common/messages/DecodedBinaryMessageSink.java
+++ b/jetty-websocket/websocket-javax-common/src/main/java/org/eclipse/jetty/websocket/javax/common/messages/DecodedBinaryMessageSink.java
@@ -28,8 +28,8 @@
import org.eclipse.jetty.websocket.core.CoreSession;
import org.eclipse.jetty.websocket.core.exception.CloseException;
-import org.eclipse.jetty.websocket.core.messages.ByteBufferMessageSink;
-import org.eclipse.jetty.websocket.core.messages.MessageSink;
+import org.eclipse.jetty.websocket.core.internal.messages.ByteBufferMessageSink;
+import org.eclipse.jetty.websocket.core.internal.messages.MessageSink;
import org.eclipse.jetty.websocket.javax.common.JavaxWebSocketFrameHandlerFactory;
import org.eclipse.jetty.websocket.javax.common.decoders.RegisteredDecoder;
import org.slf4j.Logger;
diff --git a/jetty-websocket/websocket-javax-common/src/main/java/org/eclipse/jetty/websocket/javax/common/messages/DecodedBinaryStreamMessageSink.java b/jetty-websocket/websocket-javax-common/src/main/java/org/eclipse/jetty/websocket/javax/common/messages/DecodedBinaryStreamMessageSink.java
index 03b6d0eb276d..1700b8d230c7 100644
--- a/jetty-websocket/websocket-javax-common/src/main/java/org/eclipse/jetty/websocket/javax/common/messages/DecodedBinaryStreamMessageSink.java
+++ b/jetty-websocket/websocket-javax-common/src/main/java/org/eclipse/jetty/websocket/javax/common/messages/DecodedBinaryStreamMessageSink.java
@@ -29,8 +29,8 @@
import org.eclipse.jetty.websocket.core.CoreSession;
import org.eclipse.jetty.websocket.core.exception.CloseException;
-import org.eclipse.jetty.websocket.core.messages.InputStreamMessageSink;
-import org.eclipse.jetty.websocket.core.messages.MessageSink;
+import org.eclipse.jetty.websocket.core.internal.messages.InputStreamMessageSink;
+import org.eclipse.jetty.websocket.core.internal.messages.MessageSink;
import org.eclipse.jetty.websocket.javax.common.JavaxWebSocketFrameHandlerFactory;
import org.eclipse.jetty.websocket.javax.common.decoders.RegisteredDecoder;
diff --git a/jetty-websocket/websocket-javax-common/src/main/java/org/eclipse/jetty/websocket/javax/common/messages/DecodedTextMessageSink.java b/jetty-websocket/websocket-javax-common/src/main/java/org/eclipse/jetty/websocket/javax/common/messages/DecodedTextMessageSink.java
index 1c6b4c3bacde..45c40b6b38ee 100644
--- a/jetty-websocket/websocket-javax-common/src/main/java/org/eclipse/jetty/websocket/javax/common/messages/DecodedTextMessageSink.java
+++ b/jetty-websocket/websocket-javax-common/src/main/java/org/eclipse/jetty/websocket/javax/common/messages/DecodedTextMessageSink.java
@@ -27,8 +27,8 @@
import org.eclipse.jetty.websocket.core.CoreSession;
import org.eclipse.jetty.websocket.core.exception.CloseException;
-import org.eclipse.jetty.websocket.core.messages.MessageSink;
-import org.eclipse.jetty.websocket.core.messages.StringMessageSink;
+import org.eclipse.jetty.websocket.core.internal.messages.MessageSink;
+import org.eclipse.jetty.websocket.core.internal.messages.StringMessageSink;
import org.eclipse.jetty.websocket.javax.common.JavaxWebSocketFrameHandlerFactory;
import org.eclipse.jetty.websocket.javax.common.decoders.RegisteredDecoder;
import org.slf4j.Logger;
diff --git a/jetty-websocket/websocket-javax-common/src/main/java/org/eclipse/jetty/websocket/javax/common/messages/DecodedTextStreamMessageSink.java b/jetty-websocket/websocket-javax-common/src/main/java/org/eclipse/jetty/websocket/javax/common/messages/DecodedTextStreamMessageSink.java
index 3e26ee0f5369..e261ef1b44ce 100644
--- a/jetty-websocket/websocket-javax-common/src/main/java/org/eclipse/jetty/websocket/javax/common/messages/DecodedTextStreamMessageSink.java
+++ b/jetty-websocket/websocket-javax-common/src/main/java/org/eclipse/jetty/websocket/javax/common/messages/DecodedTextStreamMessageSink.java
@@ -29,8 +29,8 @@
import org.eclipse.jetty.websocket.core.CoreSession;
import org.eclipse.jetty.websocket.core.exception.CloseException;
-import org.eclipse.jetty.websocket.core.messages.MessageSink;
-import org.eclipse.jetty.websocket.core.messages.ReaderMessageSink;
+import org.eclipse.jetty.websocket.core.internal.messages.MessageSink;
+import org.eclipse.jetty.websocket.core.internal.messages.ReaderMessageSink;
import org.eclipse.jetty.websocket.javax.common.JavaxWebSocketFrameHandlerFactory;
import org.eclipse.jetty.websocket.javax.common.decoders.RegisteredDecoder;
diff --git a/jetty-websocket/websocket-javax-common/src/test/java/org/eclipse/jetty/websocket/javax/common/DummyFrameHandlerFactory.java b/jetty-websocket/websocket-javax-common/src/test/java/org/eclipse/jetty/websocket/javax/common/DummyFrameHandlerFactory.java
index 868609264b86..3fd09b7e3aa1 100644
--- a/jetty-websocket/websocket-javax-common/src/test/java/org/eclipse/jetty/websocket/javax/common/DummyFrameHandlerFactory.java
+++ b/jetty-websocket/websocket-javax-common/src/test/java/org/eclipse/jetty/websocket/javax/common/DummyFrameHandlerFactory.java
@@ -22,7 +22,7 @@
import javax.websocket.ClientEndpointConfig;
import javax.websocket.EndpointConfig;
-import org.eclipse.jetty.websocket.core.util.InvokerUtils;
+import org.eclipse.jetty.websocket.core.internal.util.InvokerUtils;
public class DummyFrameHandlerFactory extends JavaxWebSocketFrameHandlerFactory
{
diff --git a/jetty-websocket/websocket-javax-common/src/test/java/org/eclipse/jetty/websocket/javax/common/messages/InputStreamMessageSinkTest.java b/jetty-websocket/websocket-javax-common/src/test/java/org/eclipse/jetty/websocket/javax/common/messages/InputStreamMessageSinkTest.java
index 2e6eee2a915c..f381cf7eba0f 100644
--- a/jetty-websocket/websocket-javax-common/src/test/java/org/eclipse/jetty/websocket/javax/common/messages/InputStreamMessageSinkTest.java
+++ b/jetty-websocket/websocket-javax-common/src/test/java/org/eclipse/jetty/websocket/javax/common/messages/InputStreamMessageSinkTest.java
@@ -35,7 +35,7 @@
import org.eclipse.jetty.util.IO;
import org.eclipse.jetty.websocket.core.Frame;
import org.eclipse.jetty.websocket.core.OpCode;
-import org.eclipse.jetty.websocket.core.messages.InputStreamMessageSink;
+import org.eclipse.jetty.websocket.core.internal.messages.InputStreamMessageSink;
import org.eclipse.jetty.websocket.javax.common.AbstractSessionTest;
import org.junit.jupiter.api.Test;
diff --git a/jetty-websocket/websocket-javax-common/src/test/java/org/eclipse/jetty/websocket/javax/common/messages/ReaderMessageSinkTest.java b/jetty-websocket/websocket-javax-common/src/test/java/org/eclipse/jetty/websocket/javax/common/messages/ReaderMessageSinkTest.java
index c0ff9b1e20e6..01c796d4daf6 100644
--- a/jetty-websocket/websocket-javax-common/src/test/java/org/eclipse/jetty/websocket/javax/common/messages/ReaderMessageSinkTest.java
+++ b/jetty-websocket/websocket-javax-common/src/test/java/org/eclipse/jetty/websocket/javax/common/messages/ReaderMessageSinkTest.java
@@ -32,7 +32,7 @@
import org.eclipse.jetty.util.IO;
import org.eclipse.jetty.websocket.core.Frame;
import org.eclipse.jetty.websocket.core.OpCode;
-import org.eclipse.jetty.websocket.core.messages.ReaderMessageSink;
+import org.eclipse.jetty.websocket.core.internal.messages.ReaderMessageSink;
import org.junit.jupiter.api.Test;
import static org.hamcrest.MatcherAssert.assertThat;
diff --git a/jetty-websocket/websocket-javax-common/src/test/java/org/eclipse/jetty/websocket/javax/common/util/InvokerUtilsStaticParamsTest.java b/jetty-websocket/websocket-javax-common/src/test/java/org/eclipse/jetty/websocket/javax/common/util/InvokerUtilsStaticParamsTest.java
index 82f74d695a06..fe352c0543dc 100644
--- a/jetty-websocket/websocket-javax-common/src/test/java/org/eclipse/jetty/websocket/javax/common/util/InvokerUtilsStaticParamsTest.java
+++ b/jetty-websocket/websocket-javax-common/src/test/java/org/eclipse/jetty/websocket/javax/common/util/InvokerUtilsStaticParamsTest.java
@@ -26,8 +26,8 @@
import javax.websocket.Session;
import org.eclipse.jetty.util.annotation.Name;
-import org.eclipse.jetty.websocket.core.util.InvokerUtils;
-import org.eclipse.jetty.websocket.core.util.ReflectUtils;
+import org.eclipse.jetty.websocket.core.internal.util.InvokerUtils;
+import org.eclipse.jetty.websocket.core.internal.util.ReflectUtils;
import org.eclipse.jetty.websocket.javax.common.JavaxWebSocketFrameHandlerFactory;
import org.junit.jupiter.api.Test;
diff --git a/jetty-websocket/websocket-javax-common/src/test/java/org/eclipse/jetty/websocket/javax/common/util/InvokerUtilsTest.java b/jetty-websocket/websocket-javax-common/src/test/java/org/eclipse/jetty/websocket/javax/common/util/InvokerUtilsTest.java
index d35d2b755a61..3e7cefa44e06 100644
--- a/jetty-websocket/websocket-javax-common/src/test/java/org/eclipse/jetty/websocket/javax/common/util/InvokerUtilsTest.java
+++ b/jetty-websocket/websocket-javax-common/src/test/java/org/eclipse/jetty/websocket/javax/common/util/InvokerUtilsTest.java
@@ -24,8 +24,8 @@
import java.lang.reflect.Method;
import org.eclipse.jetty.util.annotation.Name;
-import org.eclipse.jetty.websocket.core.util.InvokerUtils;
-import org.eclipse.jetty.websocket.core.util.ReflectUtils;
+import org.eclipse.jetty.websocket.core.internal.util.InvokerUtils;
+import org.eclipse.jetty.websocket.core.internal.util.ReflectUtils;
import org.junit.jupiter.api.Test;
import static org.hamcrest.MatcherAssert.assertThat;
diff --git a/jetty-websocket/websocket-javax-common/src/test/java/org/eclipse/jetty/websocket/javax/common/util/NameParamIdentifier.java b/jetty-websocket/websocket-javax-common/src/test/java/org/eclipse/jetty/websocket/javax/common/util/NameParamIdentifier.java
index 5e2374da5a51..05731d67e80c 100644
--- a/jetty-websocket/websocket-javax-common/src/test/java/org/eclipse/jetty/websocket/javax/common/util/NameParamIdentifier.java
+++ b/jetty-websocket/websocket-javax-common/src/test/java/org/eclipse/jetty/websocket/javax/common/util/NameParamIdentifier.java
@@ -22,7 +22,7 @@
import java.lang.reflect.Method;
import org.eclipse.jetty.util.annotation.Name;
-import org.eclipse.jetty.websocket.core.util.InvokerUtils;
+import org.eclipse.jetty.websocket.core.internal.util.InvokerUtils;
/**
* Simple {@link InvokerUtils.ParamIdentifier}
diff --git a/jetty-websocket/websocket-javax-common/src/test/java/org/eclipse/jetty/websocket/javax/common/util/ReflectUtilsTest.java b/jetty-websocket/websocket-javax-common/src/test/java/org/eclipse/jetty/websocket/javax/common/util/ReflectUtilsTest.java
index 02205fcd529c..ec8e53f9d6e2 100644
--- a/jetty-websocket/websocket-javax-common/src/test/java/org/eclipse/jetty/websocket/javax/common/util/ReflectUtilsTest.java
+++ b/jetty-websocket/websocket-javax-common/src/test/java/org/eclipse/jetty/websocket/javax/common/util/ReflectUtilsTest.java
@@ -18,7 +18,7 @@
package org.eclipse.jetty.websocket.javax.common.util;
-import org.eclipse.jetty.websocket.core.util.ReflectUtils;
+import org.eclipse.jetty.websocket.core.internal.util.ReflectUtils;
import org.junit.jupiter.api.Test;
import static org.hamcrest.MatcherAssert.assertThat;
diff --git a/jetty-websocket/websocket-javax-server/src/main/java/org/eclipse/jetty/websocket/javax/server/internal/JavaxWebSocketServerContainer.java b/jetty-websocket/websocket-javax-server/src/main/java/org/eclipse/jetty/websocket/javax/server/internal/JavaxWebSocketServerContainer.java
index e1de17dfa6aa..d56a1add71ec 100644
--- a/jetty-websocket/websocket-javax-server/src/main/java/org/eclipse/jetty/websocket/javax/server/internal/JavaxWebSocketServerContainer.java
+++ b/jetty-websocket/websocket-javax-server/src/main/java/org/eclipse/jetty/websocket/javax/server/internal/JavaxWebSocketServerContainer.java
@@ -38,9 +38,9 @@
import org.eclipse.jetty.websocket.core.WebSocketComponents;
import org.eclipse.jetty.websocket.core.client.WebSocketCoreClient;
import org.eclipse.jetty.websocket.core.exception.InvalidSignatureException;
+import org.eclipse.jetty.websocket.core.internal.util.ReflectUtils;
import org.eclipse.jetty.websocket.core.server.WebSocketMapping;
import org.eclipse.jetty.websocket.core.server.WebSocketServerComponents;
-import org.eclipse.jetty.websocket.core.util.ReflectUtils;
import org.eclipse.jetty.websocket.javax.client.internal.JavaxWebSocketClientContainer;
import org.eclipse.jetty.websocket.javax.server.config.ContainerDefaultConfigurator;
import org.eclipse.jetty.websocket.javax.server.config.JavaxWebSocketServletContainerInitializer;
diff --git a/jetty-websocket/websocket-javax-server/src/main/java/org/eclipse/jetty/websocket/javax/server/internal/PathParamIdentifier.java b/jetty-websocket/websocket-javax-server/src/main/java/org/eclipse/jetty/websocket/javax/server/internal/PathParamIdentifier.java
index b6751779f690..173712b1a64f 100644
--- a/jetty-websocket/websocket-javax-server/src/main/java/org/eclipse/jetty/websocket/javax/server/internal/PathParamIdentifier.java
+++ b/jetty-websocket/websocket-javax-server/src/main/java/org/eclipse/jetty/websocket/javax/server/internal/PathParamIdentifier.java
@@ -23,7 +23,7 @@
import javax.websocket.server.PathParam;
import org.eclipse.jetty.websocket.core.exception.InvalidSignatureException;
-import org.eclipse.jetty.websocket.core.util.InvokerUtils;
+import org.eclipse.jetty.websocket.core.internal.util.InvokerUtils;
/**
* Method argument identifier for {@link javax.websocket.server.PathParam} annotations.
diff --git a/jetty-websocket/websocket-javax-tests/src/main/java/org/eclipse/jetty/websocket/javax/tests/CompletableFutureMethodHandle.java b/jetty-websocket/websocket-javax-tests/src/main/java/org/eclipse/jetty/websocket/javax/tests/CompletableFutureMethodHandle.java
index eb2d0fb2ba1b..2aedea8bc66d 100644
--- a/jetty-websocket/websocket-javax-tests/src/main/java/org/eclipse/jetty/websocket/javax/tests/CompletableFutureMethodHandle.java
+++ b/jetty-websocket/websocket-javax-tests/src/main/java/org/eclipse/jetty/websocket/javax/tests/CompletableFutureMethodHandle.java
@@ -23,8 +23,8 @@
import java.lang.reflect.Method;
import java.util.concurrent.CompletableFuture;
-import org.eclipse.jetty.websocket.core.util.InvokerUtils;
-import org.eclipse.jetty.websocket.core.util.ReflectUtils;
+import org.eclipse.jetty.websocket.core.internal.util.InvokerUtils;
+import org.eclipse.jetty.websocket.core.internal.util.ReflectUtils;
import org.eclipse.jetty.websocket.javax.common.JavaxWebSocketFrameHandlerFactory;
public class CompletableFutureMethodHandle
diff --git a/jetty-websocket/websocket-javax-tests/src/main/java/org/eclipse/jetty/websocket/javax/tests/framehandlers/FrameHandlerTracker.java b/jetty-websocket/websocket-javax-tests/src/main/java/org/eclipse/jetty/websocket/javax/tests/framehandlers/FrameHandlerTracker.java
index 3326b58f979e..05c7c43e0f53 100644
--- a/jetty-websocket/websocket-javax-tests/src/main/java/org/eclipse/jetty/websocket/javax/tests/framehandlers/FrameHandlerTracker.java
+++ b/jetty-websocket/websocket-javax-tests/src/main/java/org/eclipse/jetty/websocket/javax/tests/framehandlers/FrameHandlerTracker.java
@@ -28,7 +28,7 @@
import org.eclipse.jetty.util.Callback;
import org.eclipse.jetty.websocket.core.CloseStatus;
import org.eclipse.jetty.websocket.core.CoreSession;
-import org.eclipse.jetty.websocket.core.MessageHandler;
+import org.eclipse.jetty.websocket.core.internal.MessageHandler;
public class FrameHandlerTracker extends MessageHandler
{
diff --git a/jetty-websocket/websocket-javax-tests/src/main/java/org/eclipse/jetty/websocket/javax/tests/framehandlers/StaticText.java b/jetty-websocket/websocket-javax-tests/src/main/java/org/eclipse/jetty/websocket/javax/tests/framehandlers/StaticText.java
index f135c3a44d89..617ab45d8577 100644
--- a/jetty-websocket/websocket-javax-tests/src/main/java/org/eclipse/jetty/websocket/javax/tests/framehandlers/StaticText.java
+++ b/jetty-websocket/websocket-javax-tests/src/main/java/org/eclipse/jetty/websocket/javax/tests/framehandlers/StaticText.java
@@ -19,7 +19,7 @@
package org.eclipse.jetty.websocket.javax.tests.framehandlers;
import org.eclipse.jetty.util.Callback;
-import org.eclipse.jetty.websocket.core.MessageHandler;
+import org.eclipse.jetty.websocket.core.internal.MessageHandler;
public class StaticText extends MessageHandler
{
diff --git a/jetty-websocket/websocket-javax-tests/src/main/java/org/eclipse/jetty/websocket/javax/tests/framehandlers/WholeMessageEcho.java b/jetty-websocket/websocket-javax-tests/src/main/java/org/eclipse/jetty/websocket/javax/tests/framehandlers/WholeMessageEcho.java
index 12a4d31fcf1e..a9dfe6f767e4 100644
--- a/jetty-websocket/websocket-javax-tests/src/main/java/org/eclipse/jetty/websocket/javax/tests/framehandlers/WholeMessageEcho.java
+++ b/jetty-websocket/websocket-javax-tests/src/main/java/org/eclipse/jetty/websocket/javax/tests/framehandlers/WholeMessageEcho.java
@@ -21,7 +21,7 @@
import java.nio.ByteBuffer;
import org.eclipse.jetty.util.Callback;
-import org.eclipse.jetty.websocket.core.MessageHandler;
+import org.eclipse.jetty.websocket.core.internal.MessageHandler;
public class WholeMessageEcho extends MessageHandler
{
diff --git a/jetty-websocket/websocket-javax-tests/src/main/java/org/eclipse/jetty/websocket/javax/tests/matchers/IsMessageHandlerType.java b/jetty-websocket/websocket-javax-tests/src/main/java/org/eclipse/jetty/websocket/javax/tests/matchers/IsMessageHandlerType.java
index bc303efaff49..f28de668ab6d 100644
--- a/jetty-websocket/websocket-javax-tests/src/main/java/org/eclipse/jetty/websocket/javax/tests/matchers/IsMessageHandlerType.java
+++ b/jetty-websocket/websocket-javax-tests/src/main/java/org/eclipse/jetty/websocket/javax/tests/matchers/IsMessageHandlerType.java
@@ -22,7 +22,7 @@
import javax.websocket.MessageHandler;
import javax.websocket.PongMessage;
-import org.eclipse.jetty.websocket.core.util.ReflectUtils;
+import org.eclipse.jetty.websocket.core.internal.util.ReflectUtils;
import org.eclipse.jetty.websocket.javax.common.JavaxWebSocketSession;
import org.eclipse.jetty.websocket.javax.common.decoders.RegisteredDecoder;
import org.eclipse.jetty.websocket.javax.tests.MessageType;
diff --git a/jetty-websocket/websocket-javax-tests/src/test/java/org/eclipse/jetty/websocket/javax/tests/client/DecoderReaderManySmallTest.java b/jetty-websocket/websocket-javax-tests/src/test/java/org/eclipse/jetty/websocket/javax/tests/client/DecoderReaderManySmallTest.java
index caf99771299f..b187053e1f9c 100644
--- a/jetty-websocket/websocket-javax-tests/src/test/java/org/eclipse/jetty/websocket/javax/tests/client/DecoderReaderManySmallTest.java
+++ b/jetty-websocket/websocket-javax-tests/src/test/java/org/eclipse/jetty/websocket/javax/tests/client/DecoderReaderManySmallTest.java
@@ -36,7 +36,7 @@
import javax.websocket.WebSocketContainer;
import org.eclipse.jetty.util.Callback;
-import org.eclipse.jetty.websocket.core.MessageHandler;
+import org.eclipse.jetty.websocket.core.internal.MessageHandler;
import org.eclipse.jetty.websocket.core.server.WebSocketNegotiator;
import org.eclipse.jetty.websocket.javax.tests.CoreServer;
import org.eclipse.jetty.websocket.javax.tests.WSEventTracker;
diff --git a/jetty-websocket/websocket-javax-tests/src/test/java/org/eclipse/jetty/websocket/javax/tests/client/MessageReceivingTest.java b/jetty-websocket/websocket-javax-tests/src/test/java/org/eclipse/jetty/websocket/javax/tests/client/MessageReceivingTest.java
index 88bdb834f2fa..e4b22c189382 100644
--- a/jetty-websocket/websocket-javax-tests/src/test/java/org/eclipse/jetty/websocket/javax/tests/client/MessageReceivingTest.java
+++ b/jetty-websocket/websocket-javax-tests/src/test/java/org/eclipse/jetty/websocket/javax/tests/client/MessageReceivingTest.java
@@ -41,11 +41,11 @@
import org.eclipse.jetty.util.component.LifeCycle;
import org.eclipse.jetty.websocket.core.Frame;
import org.eclipse.jetty.websocket.core.FrameHandler;
-import org.eclipse.jetty.websocket.core.MessageHandler;
import org.eclipse.jetty.websocket.core.OpCode;
+import org.eclipse.jetty.websocket.core.internal.MessageHandler;
+import org.eclipse.jetty.websocket.core.internal.util.TextUtils;
import org.eclipse.jetty.websocket.core.server.WebSocketNegotiation;
import org.eclipse.jetty.websocket.core.server.WebSocketNegotiator;
-import org.eclipse.jetty.websocket.core.util.TextUtils;
import org.eclipse.jetty.websocket.javax.tests.CoreServer;
import org.eclipse.jetty.websocket.javax.tests.DataUtils;
import org.junit.jupiter.api.AfterAll;
diff --git a/jetty-websocket/websocket-jetty-common/src/main/java/org/eclipse/jetty/websocket/common/JettyWebSocketFrameHandler.java b/jetty-websocket/websocket-jetty-common/src/main/java/org/eclipse/jetty/websocket/common/JettyWebSocketFrameHandler.java
index ee189204fbcd..7303f2445295 100644
--- a/jetty-websocket/websocket-jetty-common/src/main/java/org/eclipse/jetty/websocket/common/JettyWebSocketFrameHandler.java
+++ b/jetty-websocket/websocket-jetty-common/src/main/java/org/eclipse/jetty/websocket/common/JettyWebSocketFrameHandler.java
@@ -46,8 +46,8 @@
import org.eclipse.jetty.websocket.core.exception.UpgradeException;
import org.eclipse.jetty.websocket.core.exception.WebSocketException;
import org.eclipse.jetty.websocket.core.exception.WebSocketTimeoutException;
-import org.eclipse.jetty.websocket.core.messages.MessageSink;
-import org.eclipse.jetty.websocket.core.util.InvokerUtils;
+import org.eclipse.jetty.websocket.core.internal.messages.MessageSink;
+import org.eclipse.jetty.websocket.core.internal.util.InvokerUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/jetty-websocket/websocket-jetty-common/src/main/java/org/eclipse/jetty/websocket/common/JettyWebSocketFrameHandlerFactory.java b/jetty-websocket/websocket-jetty-common/src/main/java/org/eclipse/jetty/websocket/common/JettyWebSocketFrameHandlerFactory.java
index b3438e816dd9..935bd46d1c2d 100644
--- a/jetty-websocket/websocket-jetty-common/src/main/java/org/eclipse/jetty/websocket/common/JettyWebSocketFrameHandlerFactory.java
+++ b/jetty-websocket/websocket-jetty-common/src/main/java/org/eclipse/jetty/websocket/common/JettyWebSocketFrameHandlerFactory.java
@@ -53,16 +53,16 @@
import org.eclipse.jetty.websocket.core.CoreSession;
import org.eclipse.jetty.websocket.core.exception.InvalidSignatureException;
import org.eclipse.jetty.websocket.core.exception.InvalidWebSocketException;
-import org.eclipse.jetty.websocket.core.messages.ByteArrayMessageSink;
-import org.eclipse.jetty.websocket.core.messages.ByteBufferMessageSink;
-import org.eclipse.jetty.websocket.core.messages.InputStreamMessageSink;
-import org.eclipse.jetty.websocket.core.messages.MessageSink;
-import org.eclipse.jetty.websocket.core.messages.PartialByteBufferMessageSink;
-import org.eclipse.jetty.websocket.core.messages.PartialStringMessageSink;
-import org.eclipse.jetty.websocket.core.messages.ReaderMessageSink;
-import org.eclipse.jetty.websocket.core.messages.StringMessageSink;
-import org.eclipse.jetty.websocket.core.util.InvokerUtils;
-import org.eclipse.jetty.websocket.core.util.ReflectUtils;
+import org.eclipse.jetty.websocket.core.internal.messages.ByteArrayMessageSink;
+import org.eclipse.jetty.websocket.core.internal.messages.ByteBufferMessageSink;
+import org.eclipse.jetty.websocket.core.internal.messages.InputStreamMessageSink;
+import org.eclipse.jetty.websocket.core.internal.messages.MessageSink;
+import org.eclipse.jetty.websocket.core.internal.messages.PartialByteBufferMessageSink;
+import org.eclipse.jetty.websocket.core.internal.messages.PartialStringMessageSink;
+import org.eclipse.jetty.websocket.core.internal.messages.ReaderMessageSink;
+import org.eclipse.jetty.websocket.core.internal.messages.StringMessageSink;
+import org.eclipse.jetty.websocket.core.internal.util.InvokerUtils;
+import org.eclipse.jetty.websocket.core.internal.util.ReflectUtils;
/**
* Factory to create {@link JettyWebSocketFrameHandler} instances suitable for
diff --git a/jetty-websocket/websocket-jetty-common/src/main/java/org/eclipse/jetty/websocket/common/JettyWebSocketFrameHandlerMetadata.java b/jetty-websocket/websocket-jetty-common/src/main/java/org/eclipse/jetty/websocket/common/JettyWebSocketFrameHandlerMetadata.java
index 99385ddf53fd..3b6b4930fb1c 100644
--- a/jetty-websocket/websocket-jetty-common/src/main/java/org/eclipse/jetty/websocket/common/JettyWebSocketFrameHandlerMetadata.java
+++ b/jetty-websocket/websocket-jetty-common/src/main/java/org/eclipse/jetty/websocket/common/JettyWebSocketFrameHandlerMetadata.java
@@ -23,7 +23,7 @@
import org.eclipse.jetty.websocket.api.BatchMode;
import org.eclipse.jetty.websocket.api.exceptions.InvalidWebSocketException;
import org.eclipse.jetty.websocket.core.Configuration;
-import org.eclipse.jetty.websocket.core.messages.MessageSink;
+import org.eclipse.jetty.websocket.core.internal.messages.MessageSink;
public class JettyWebSocketFrameHandlerMetadata extends Configuration.ConfigurationCustomizer
{
diff --git a/jetty-websocket/websocket-jetty-common/src/test/java/org/eclipse/jetty/websocket/common/EndPoints.java b/jetty-websocket/websocket-jetty-common/src/test/java/org/eclipse/jetty/websocket/common/EndPoints.java
index 43a4217136e9..c9d6f360e348 100644
--- a/jetty-websocket/websocket-jetty-common/src/test/java/org/eclipse/jetty/websocket/common/EndPoints.java
+++ b/jetty-websocket/websocket-jetty-common/src/test/java/org/eclipse/jetty/websocket/common/EndPoints.java
@@ -38,7 +38,7 @@
import org.eclipse.jetty.websocket.api.annotations.OnWebSocketMessage;
import org.eclipse.jetty.websocket.api.annotations.WebSocket;
import org.eclipse.jetty.websocket.core.CloseStatus;
-import org.eclipse.jetty.websocket.core.util.TextUtils;
+import org.eclipse.jetty.websocket.core.internal.util.TextUtils;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.notNullValue;
diff --git a/jetty-websocket/websocket-jetty-common/src/test/java/org/eclipse/jetty/websocket/common/LocalEndpointMetadataTest.java b/jetty-websocket/websocket-jetty-common/src/test/java/org/eclipse/jetty/websocket/common/LocalEndpointMetadataTest.java
index 916c9bbedef1..e22401e5f793 100644
--- a/jetty-websocket/websocket-jetty-common/src/test/java/org/eclipse/jetty/websocket/common/LocalEndpointMetadataTest.java
+++ b/jetty-websocket/websocket-jetty-common/src/test/java/org/eclipse/jetty/websocket/common/LocalEndpointMetadataTest.java
@@ -21,10 +21,10 @@
import org.eclipse.jetty.websocket.api.exceptions.InvalidWebSocketException;
import org.eclipse.jetty.websocket.core.exception.DuplicateAnnotationException;
import org.eclipse.jetty.websocket.core.exception.InvalidSignatureException;
-import org.eclipse.jetty.websocket.core.messages.ByteArrayMessageSink;
-import org.eclipse.jetty.websocket.core.messages.InputStreamMessageSink;
-import org.eclipse.jetty.websocket.core.messages.ReaderMessageSink;
-import org.eclipse.jetty.websocket.core.messages.StringMessageSink;
+import org.eclipse.jetty.websocket.core.internal.messages.ByteArrayMessageSink;
+import org.eclipse.jetty.websocket.core.internal.messages.InputStreamMessageSink;
+import org.eclipse.jetty.websocket.core.internal.messages.ReaderMessageSink;
+import org.eclipse.jetty.websocket.core.internal.messages.StringMessageSink;
import org.hamcrest.Matcher;
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.BeforeAll;
diff --git a/jetty-websocket/websocket-jetty-common/src/test/java/org/eclipse/jetty/websocket/common/MessageInputStreamTest.java b/jetty-websocket/websocket-jetty-common/src/test/java/org/eclipse/jetty/websocket/common/MessageInputStreamTest.java
index 0b56fc4798c9..46bc68f091d6 100644
--- a/jetty-websocket/websocket-jetty-common/src/test/java/org/eclipse/jetty/websocket/common/MessageInputStreamTest.java
+++ b/jetty-websocket/websocket-jetty-common/src/test/java/org/eclipse/jetty/websocket/common/MessageInputStreamTest.java
@@ -32,7 +32,7 @@
import org.eclipse.jetty.util.IO;
import org.eclipse.jetty.websocket.core.Frame;
import org.eclipse.jetty.websocket.core.OpCode;
-import org.eclipse.jetty.websocket.core.messages.MessageInputStream;
+import org.eclipse.jetty.websocket.core.internal.messages.MessageInputStream;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.Test;
diff --git a/jetty-websocket/websocket-jetty-common/src/test/java/org/eclipse/jetty/websocket/common/MessageOutputStreamTest.java b/jetty-websocket/websocket-jetty-common/src/test/java/org/eclipse/jetty/websocket/common/MessageOutputStreamTest.java
index 73e508791d82..39bd1ccfaf57 100644
--- a/jetty-websocket/websocket-jetty-common/src/test/java/org/eclipse/jetty/websocket/common/MessageOutputStreamTest.java
+++ b/jetty-websocket/websocket-jetty-common/src/test/java/org/eclipse/jetty/websocket/common/MessageOutputStreamTest.java
@@ -23,7 +23,7 @@
import java.util.concurrent.TimeUnit;
import org.eclipse.jetty.util.BufferUtil;
-import org.eclipse.jetty.websocket.core.messages.MessageOutputStream;
+import org.eclipse.jetty.websocket.core.internal.messages.MessageOutputStream;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
diff --git a/jetty-websocket/websocket-jetty-common/src/test/java/org/eclipse/jetty/websocket/common/OutgoingMessageCapture.java b/jetty-websocket/websocket-jetty-common/src/test/java/org/eclipse/jetty/websocket/common/OutgoingMessageCapture.java
index cff6767b092d..3beacd8d0bcb 100644
--- a/jetty-websocket/websocket-jetty-common/src/test/java/org/eclipse/jetty/websocket/common/OutgoingMessageCapture.java
+++ b/jetty-websocket/websocket-jetty-common/src/test/java/org/eclipse/jetty/websocket/common/OutgoingMessageCapture.java
@@ -31,9 +31,9 @@
import org.eclipse.jetty.websocket.core.CoreSession;
import org.eclipse.jetty.websocket.core.Frame;
import org.eclipse.jetty.websocket.core.OpCode;
-import org.eclipse.jetty.websocket.core.messages.ByteBufferMessageSink;
-import org.eclipse.jetty.websocket.core.messages.MessageSink;
-import org.eclipse.jetty.websocket.core.messages.StringMessageSink;
+import org.eclipse.jetty.websocket.core.internal.messages.ByteBufferMessageSink;
+import org.eclipse.jetty.websocket.core.internal.messages.MessageSink;
+import org.eclipse.jetty.websocket.core.internal.messages.StringMessageSink;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/jetty-websocket/websocket-jetty-common/src/test/java/org/eclipse/jetty/websocket/common/invoke/InvokerUtilsTest.java b/jetty-websocket/websocket-jetty-common/src/test/java/org/eclipse/jetty/websocket/common/invoke/InvokerUtilsTest.java
index 8185aa718111..1f1632ceb28b 100644
--- a/jetty-websocket/websocket-jetty-common/src/test/java/org/eclipse/jetty/websocket/common/invoke/InvokerUtilsTest.java
+++ b/jetty-websocket/websocket-jetty-common/src/test/java/org/eclipse/jetty/websocket/common/invoke/InvokerUtilsTest.java
@@ -24,8 +24,8 @@
import java.lang.reflect.Method;
import org.eclipse.jetty.util.annotation.Name;
-import org.eclipse.jetty.websocket.core.util.InvokerUtils;
-import org.eclipse.jetty.websocket.core.util.ReflectUtils;
+import org.eclipse.jetty.websocket.core.internal.util.InvokerUtils;
+import org.eclipse.jetty.websocket.core.internal.util.ReflectUtils;
import org.junit.jupiter.api.Test;
import static org.hamcrest.MatcherAssert.assertThat;
diff --git a/jetty-websocket/websocket-jetty-common/src/test/java/org/eclipse/jetty/websocket/common/invoke/NameParamIdentifier.java b/jetty-websocket/websocket-jetty-common/src/test/java/org/eclipse/jetty/websocket/common/invoke/NameParamIdentifier.java
index b19d8d1c2ec8..3c4c0d3d413a 100644
--- a/jetty-websocket/websocket-jetty-common/src/test/java/org/eclipse/jetty/websocket/common/invoke/NameParamIdentifier.java
+++ b/jetty-websocket/websocket-jetty-common/src/test/java/org/eclipse/jetty/websocket/common/invoke/NameParamIdentifier.java
@@ -22,7 +22,7 @@
import java.lang.reflect.Method;
import org.eclipse.jetty.util.annotation.Name;
-import org.eclipse.jetty.websocket.core.util.InvokerUtils;
+import org.eclipse.jetty.websocket.core.internal.util.InvokerUtils;
/**
* Simple {@link InvokerUtils.ParamIdentifier}
diff --git a/jetty-websocket/websocket-jetty-server/src/main/java/org/eclipse/jetty/websocket/server/JettyWebSocketServerContainer.java b/jetty-websocket/websocket-jetty-server/src/main/java/org/eclipse/jetty/websocket/server/JettyWebSocketServerContainer.java
index 9a8736cd012f..d735dba23db2 100644
--- a/jetty-websocket/websocket-jetty-server/src/main/java/org/eclipse/jetty/websocket/server/JettyWebSocketServerContainer.java
+++ b/jetty-websocket/websocket-jetty-server/src/main/java/org/eclipse/jetty/websocket/server/JettyWebSocketServerContainer.java
@@ -38,9 +38,9 @@
import org.eclipse.jetty.websocket.common.SessionTracker;
import org.eclipse.jetty.websocket.core.Configuration;
import org.eclipse.jetty.websocket.core.exception.WebSocketException;
+import org.eclipse.jetty.websocket.core.internal.util.ReflectUtils;
import org.eclipse.jetty.websocket.core.server.FrameHandlerFactory;
import org.eclipse.jetty.websocket.core.server.WebSocketMapping;
-import org.eclipse.jetty.websocket.core.util.ReflectUtils;
import org.eclipse.jetty.websocket.server.config.JettyWebSocketServletContainerInitializer;
import org.eclipse.jetty.websocket.server.internal.DelegatedServerUpgradeRequest;
import org.eclipse.jetty.websocket.server.internal.DelegatedServerUpgradeResponse;
diff --git a/jetty-websocket/websocket-jetty-tests/src/test/java/org/eclipse/jetty/websocket/tests/server/PartialListenerTest.java b/jetty-websocket/websocket-jetty-tests/src/test/java/org/eclipse/jetty/websocket/tests/server/PartialListenerTest.java
index f87a54520cfe..48aa15d318a8 100644
--- a/jetty-websocket/websocket-jetty-tests/src/test/java/org/eclipse/jetty/websocket/tests/server/PartialListenerTest.java
+++ b/jetty-websocket/websocket-jetty-tests/src/test/java/org/eclipse/jetty/websocket/tests/server/PartialListenerTest.java
@@ -40,7 +40,7 @@
import org.eclipse.jetty.websocket.client.ClientUpgradeRequest;
import org.eclipse.jetty.websocket.client.WebSocketClient;
import org.eclipse.jetty.websocket.common.WebSocketSession;
-import org.eclipse.jetty.websocket.core.util.TextUtils;
+import org.eclipse.jetty.websocket.core.internal.util.TextUtils;
import org.eclipse.jetty.websocket.server.JettyServerUpgradeRequest;
import org.eclipse.jetty.websocket.server.JettyServerUpgradeResponse;
import org.eclipse.jetty.websocket.server.JettyWebSocketCreator;
From b63b0fc2910ca37e1adc7fc6210a78f87982ee71 Mon Sep 17 00:00:00 2001
From: Lachlan Roberts
Date: Fri, 20 Nov 2020 17:31:46 +1100
Subject: [PATCH 08/21] create internal package for websocket-core-client
Signed-off-by: Lachlan Roberts
---
jetty-websocket/websocket-core-client/pom.xml | 18 +++++++++++++++
.../core/client/CoreClientUpgradeRequest.java | 4 +++-
.../core/client/WebSocketCoreClient.java | 1 +
.../{ => internal}/HttpClientProvider.java | 2 +-
.../{ => internal}/HttpUpgraderOverHTTP.java | 3 ++-
.../{ => internal}/HttpUpgraderOverHTTP2.java | 3 ++-
.../{ => internal}/XmlHttpClientProvider.java | 4 ++--
.../src/main/java/module-info.java | 22 ++++++++++++++++++-
.../JettyWebSocketFrameHandlerFactory.java | 4 +---
9 files changed, 51 insertions(+), 10 deletions(-)
rename jetty-websocket/websocket-core-client/src/main/java/org/eclipse/jetty/websocket/core/client/{ => internal}/HttpClientProvider.java (96%)
rename jetty-websocket/websocket-core-client/src/main/java/org/eclipse/jetty/websocket/core/client/{ => internal}/HttpUpgraderOverHTTP.java (97%)
rename jetty-websocket/websocket-core-client/src/main/java/org/eclipse/jetty/websocket/core/client/{ => internal}/HttpUpgraderOverHTTP2.java (94%)
rename jetty-websocket/websocket-core-client/src/main/java/org/eclipse/jetty/websocket/core/client/{ => internal}/XmlHttpClientProvider.java (94%)
diff --git a/jetty-websocket/websocket-core-client/pom.xml b/jetty-websocket/websocket-core-client/pom.xml
index 5924b6615274..de982a6ccc61 100644
--- a/jetty-websocket/websocket-core-client/pom.xml
+++ b/jetty-websocket/websocket-core-client/pom.xml
@@ -77,6 +77,24 @@
+
+ org.apache.felix
+ maven-bundle-plugin
+ true
+
+
+ generate-manifest
+
+ manifest
+
+
+
+ *,org.eclipse.jetty.websocket.core.client.internal.*
+
+
+
+
+
diff --git a/jetty-websocket/websocket-core-client/src/main/java/org/eclipse/jetty/websocket/core/client/CoreClientUpgradeRequest.java b/jetty-websocket/websocket-core-client/src/main/java/org/eclipse/jetty/websocket/core/client/CoreClientUpgradeRequest.java
index b9535643759a..2497210ca2fc 100644
--- a/jetty-websocket/websocket-core-client/src/main/java/org/eclipse/jetty/websocket/core/client/CoreClientUpgradeRequest.java
+++ b/jetty-websocket/websocket-core-client/src/main/java/org/eclipse/jetty/websocket/core/client/CoreClientUpgradeRequest.java
@@ -52,6 +52,8 @@
import org.eclipse.jetty.websocket.core.ExtensionConfig;
import org.eclipse.jetty.websocket.core.FrameHandler;
import org.eclipse.jetty.websocket.core.WebSocketConstants;
+import org.eclipse.jetty.websocket.core.client.internal.HttpUpgraderOverHTTP;
+import org.eclipse.jetty.websocket.core.client.internal.HttpUpgraderOverHTTP2;
import org.eclipse.jetty.websocket.core.exception.UpgradeException;
import org.eclipse.jetty.websocket.core.exception.WebSocketException;
import org.eclipse.jetty.websocket.core.internal.ExtensionStack;
@@ -281,7 +283,7 @@ protected void customize(EndPoint endPoint)
public abstract FrameHandler getFrameHandler();
- void requestComplete()
+ public void requestComplete()
{
// Add extensions header filtering out internal extensions and internal parameters.
String extensionString = requestedExtensions.stream()
diff --git a/jetty-websocket/websocket-core-client/src/main/java/org/eclipse/jetty/websocket/core/client/WebSocketCoreClient.java b/jetty-websocket/websocket-core-client/src/main/java/org/eclipse/jetty/websocket/core/client/WebSocketCoreClient.java
index 8e4ab6182b51..3fc29fbf9f55 100644
--- a/jetty-websocket/websocket-core-client/src/main/java/org/eclipse/jetty/websocket/core/client/WebSocketCoreClient.java
+++ b/jetty-websocket/websocket-core-client/src/main/java/org/eclipse/jetty/websocket/core/client/WebSocketCoreClient.java
@@ -32,6 +32,7 @@
import org.eclipse.jetty.websocket.core.FrameHandler;
import org.eclipse.jetty.websocket.core.WebSocketComponents;
import org.eclipse.jetty.websocket.core.WebSocketExtensionRegistry;
+import org.eclipse.jetty.websocket.core.client.internal.HttpClientProvider;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/jetty-websocket/websocket-core-client/src/main/java/org/eclipse/jetty/websocket/core/client/HttpClientProvider.java b/jetty-websocket/websocket-core-client/src/main/java/org/eclipse/jetty/websocket/core/client/internal/HttpClientProvider.java
similarity index 96%
rename from jetty-websocket/websocket-core-client/src/main/java/org/eclipse/jetty/websocket/core/client/HttpClientProvider.java
rename to jetty-websocket/websocket-core-client/src/main/java/org/eclipse/jetty/websocket/core/client/internal/HttpClientProvider.java
index 935e768482e9..e614233ada60 100644
--- a/jetty-websocket/websocket-core-client/src/main/java/org/eclipse/jetty/websocket/core/client/HttpClientProvider.java
+++ b/jetty-websocket/websocket-core-client/src/main/java/org/eclipse/jetty/websocket/core/client/internal/HttpClientProvider.java
@@ -16,7 +16,7 @@
// ========================================================================
//
-package org.eclipse.jetty.websocket.core.client;
+package org.eclipse.jetty.websocket.core.client.internal;
import org.eclipse.jetty.client.HttpClient;
import org.eclipse.jetty.util.thread.QueuedThreadPool;
diff --git a/jetty-websocket/websocket-core-client/src/main/java/org/eclipse/jetty/websocket/core/client/HttpUpgraderOverHTTP.java b/jetty-websocket/websocket-core-client/src/main/java/org/eclipse/jetty/websocket/core/client/internal/HttpUpgraderOverHTTP.java
similarity index 97%
rename from jetty-websocket/websocket-core-client/src/main/java/org/eclipse/jetty/websocket/core/client/HttpUpgraderOverHTTP.java
rename to jetty-websocket/websocket-core-client/src/main/java/org/eclipse/jetty/websocket/core/client/internal/HttpUpgraderOverHTTP.java
index 318fd537a8ed..d91d70c22c6d 100644
--- a/jetty-websocket/websocket-core-client/src/main/java/org/eclipse/jetty/websocket/core/client/HttpUpgraderOverHTTP.java
+++ b/jetty-websocket/websocket-core-client/src/main/java/org/eclipse/jetty/websocket/core/client/internal/HttpUpgraderOverHTTP.java
@@ -16,7 +16,7 @@
// ========================================================================
//
-package org.eclipse.jetty.websocket.core.client;
+package org.eclipse.jetty.websocket.core.client.internal;
import java.nio.charset.StandardCharsets;
import java.util.Base64;
@@ -34,6 +34,7 @@
import org.eclipse.jetty.io.EndPoint;
import org.eclipse.jetty.util.Callback;
import org.eclipse.jetty.websocket.core.WebSocketConstants;
+import org.eclipse.jetty.websocket.core.client.CoreClientUpgradeRequest;
import org.eclipse.jetty.websocket.core.internal.WebSocketCore;
public class HttpUpgraderOverHTTP implements HttpUpgrader
diff --git a/jetty-websocket/websocket-core-client/src/main/java/org/eclipse/jetty/websocket/core/client/HttpUpgraderOverHTTP2.java b/jetty-websocket/websocket-core-client/src/main/java/org/eclipse/jetty/websocket/core/client/internal/HttpUpgraderOverHTTP2.java
similarity index 94%
rename from jetty-websocket/websocket-core-client/src/main/java/org/eclipse/jetty/websocket/core/client/HttpUpgraderOverHTTP2.java
rename to jetty-websocket/websocket-core-client/src/main/java/org/eclipse/jetty/websocket/core/client/internal/HttpUpgraderOverHTTP2.java
index 6b3cd28ba018..a59e6159e584 100644
--- a/jetty-websocket/websocket-core-client/src/main/java/org/eclipse/jetty/websocket/core/client/HttpUpgraderOverHTTP2.java
+++ b/jetty-websocket/websocket-core-client/src/main/java/org/eclipse/jetty/websocket/core/client/internal/HttpUpgraderOverHTTP2.java
@@ -16,7 +16,7 @@
// ========================================================================
//
-package org.eclipse.jetty.websocket.core.client;
+package org.eclipse.jetty.websocket.core.client.internal;
import org.eclipse.jetty.client.HttpRequest;
import org.eclipse.jetty.client.HttpResponse;
@@ -27,6 +27,7 @@
import org.eclipse.jetty.io.EndPoint;
import org.eclipse.jetty.util.Callback;
import org.eclipse.jetty.websocket.core.WebSocketConstants;
+import org.eclipse.jetty.websocket.core.client.CoreClientUpgradeRequest;
public class HttpUpgraderOverHTTP2 implements HttpUpgrader
{
diff --git a/jetty-websocket/websocket-core-client/src/main/java/org/eclipse/jetty/websocket/core/client/XmlHttpClientProvider.java b/jetty-websocket/websocket-core-client/src/main/java/org/eclipse/jetty/websocket/core/client/internal/XmlHttpClientProvider.java
similarity index 94%
rename from jetty-websocket/websocket-core-client/src/main/java/org/eclipse/jetty/websocket/core/client/XmlHttpClientProvider.java
rename to jetty-websocket/websocket-core-client/src/main/java/org/eclipse/jetty/websocket/core/client/internal/XmlHttpClientProvider.java
index af9962bc3d36..6bc2b5c59dd8 100644
--- a/jetty-websocket/websocket-core-client/src/main/java/org/eclipse/jetty/websocket/core/client/XmlHttpClientProvider.java
+++ b/jetty-websocket/websocket-core-client/src/main/java/org/eclipse/jetty/websocket/core/client/internal/XmlHttpClientProvider.java
@@ -16,7 +16,7 @@
// ========================================================================
//
-package org.eclipse.jetty.websocket.core.client;
+package org.eclipse.jetty.websocket.core.client.internal;
import java.net.URL;
@@ -26,7 +26,7 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-class XmlHttpClientProvider implements HttpClientProvider
+public class XmlHttpClientProvider implements HttpClientProvider
{
private static final Logger LOG = LoggerFactory.getLogger(XmlHttpClientProvider.class);
diff --git a/jetty-websocket/websocket-core-common/src/main/java/module-info.java b/jetty-websocket/websocket-core-common/src/main/java/module-info.java
index 43087904262a..659ac5ac6609 100644
--- a/jetty-websocket/websocket-core-common/src/main/java/module-info.java
+++ b/jetty-websocket/websocket-core-common/src/main/java/module-info.java
@@ -26,7 +26,27 @@
{
exports org.eclipse.jetty.websocket.core;
exports org.eclipse.jetty.websocket.core.exception;
- exports org.eclipse.jetty.websocket.core.internal to org.eclipse.jetty.websocket.core.client, org.eclipse.jetty.websocket.core.server, org.eclipse.jetty.util;
+
+ exports org.eclipse.jetty.websocket.core.internal to
+ org.eclipse.jetty.websocket.core.client,
+ org.eclipse.jetty.websocket.core.server;
+
+ // The Jetty & Javax API Layers need to access both access some internal utilities which we don't want to expose.
+ exports org.eclipse.jetty.websocket.core.internal.util to
+ org.eclipse.jetty.websocket.jetty.common,
+ org.eclipse.jetty.websocket.jetty.client,
+ org.eclipse.jetty.websocket.jetty.server,
+ org.eclipse.jetty.websocket.javax.common,
+ org.eclipse.jetty.websocket.javax.client,
+ org.eclipse.jetty.websocket.javax.server;
+
+ exports org.eclipse.jetty.websocket.core.internal.messages to
+ org.eclipse.jetty.websocket.jetty.common,
+ org.eclipse.jetty.websocket.jetty.client,
+ org.eclipse.jetty.websocket.jetty.server,
+ org.eclipse.jetty.websocket.javax.common,
+ org.eclipse.jetty.websocket.javax.client,
+ org.eclipse.jetty.websocket.javax.server;
requires org.eclipse.jetty.http;
requires transitive org.eclipse.jetty.io;
diff --git a/jetty-websocket/websocket-jetty-common/src/main/java/org/eclipse/jetty/websocket/common/JettyWebSocketFrameHandlerFactory.java b/jetty-websocket/websocket-jetty-common/src/main/java/org/eclipse/jetty/websocket/common/JettyWebSocketFrameHandlerFactory.java
index 935bd46d1c2d..c571fd0e60f5 100644
--- a/jetty-websocket/websocket-jetty-common/src/main/java/org/eclipse/jetty/websocket/common/JettyWebSocketFrameHandlerFactory.java
+++ b/jetty-websocket/websocket-jetty-common/src/main/java/org/eclipse/jetty/websocket/common/JettyWebSocketFrameHandlerFactory.java
@@ -135,7 +135,7 @@ public JettyWebSocketFrameHandler newJettyFrameHandler(Object endpointInstance)
final MethodHandle pongHandle = InvokerUtils.bindTo(metadata.getPongHandle(), endpointInstance);
BatchMode batchMode = metadata.getBatchMode();
- JettyWebSocketFrameHandler frameHandler = new JettyWebSocketFrameHandler(
+ return new JettyWebSocketFrameHandler(
container,
endpointInstance,
openHandle, closeHandle, errorHandle,
@@ -144,8 +144,6 @@ public JettyWebSocketFrameHandler newJettyFrameHandler(Object endpointInstance)
frameHandle, pingHandle, pongHandle,
batchMode,
metadata);
-
- return frameHandler;
}
public static MessageSink createMessageSink(MethodHandle msgHandle, Class extends MessageSink> sinkClass, Executor executor, WebSocketSession session)
From f01b76b144752fb016e53381d1f822190fcbb989 Mon Sep 17 00:00:00 2001
From: Lachlan Roberts
Date: Tue, 24 Nov 2020 23:16:49 +1100
Subject: [PATCH 09/21] fix JPMS warnings for websocket common modules
Signed-off-by: Lachlan Roberts
---
.../websocket-javax-common/src/main/java/module-info.java | 8 ++++----
.../server/internal/AnnotatedServerEndpointConfig.java | 4 ++--
.../websocket-jetty-common/src/main/java/module-info.java | 2 +-
3 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/jetty-websocket/websocket-javax-common/src/main/java/module-info.java b/jetty-websocket/websocket-javax-common/src/main/java/module-info.java
index 705e6d822f9a..583302864ab5 100644
--- a/jetty-websocket/websocket-javax-common/src/main/java/module-info.java
+++ b/jetty-websocket/websocket-javax-common/src/main/java/module-info.java
@@ -18,10 +18,10 @@
module org.eclipse.jetty.websocket.javax.common
{
- exports org.eclipse.jetty.websocket.javax.common;
- exports org.eclipse.jetty.websocket.javax.common.decoders;
- exports org.eclipse.jetty.websocket.javax.common.encoders;
- exports org.eclipse.jetty.websocket.javax.common.messages;
+ exports org.eclipse.jetty.websocket.javax.common to org.eclipse.jetty.websocket.javax.server, org.eclipse.jetty.websocket.javax.client;
+ exports org.eclipse.jetty.websocket.javax.common.decoders to org.eclipse.jetty.websocket.javax.server, org.eclipse.jetty.websocket.javax.client;
+ exports org.eclipse.jetty.websocket.javax.common.encoders to org.eclipse.jetty.websocket.javax.server, org.eclipse.jetty.websocket.javax.client;
+ exports org.eclipse.jetty.websocket.javax.common.messages to org.eclipse.jetty.websocket.javax.server, org.eclipse.jetty.websocket.javax.client;
requires org.slf4j;
requires transitive jetty.websocket.api;
diff --git a/jetty-websocket/websocket-javax-server/src/main/java/org/eclipse/jetty/websocket/javax/server/internal/AnnotatedServerEndpointConfig.java b/jetty-websocket/websocket-javax-server/src/main/java/org/eclipse/jetty/websocket/javax/server/internal/AnnotatedServerEndpointConfig.java
index 23af02b05753..a3414e8d56aa 100644
--- a/jetty-websocket/websocket-javax-server/src/main/java/org/eclipse/jetty/websocket/javax/server/internal/AnnotatedServerEndpointConfig.java
+++ b/jetty-websocket/websocket-javax-server/src/main/java/org/eclipse/jetty/websocket/javax/server/internal/AnnotatedServerEndpointConfig.java
@@ -120,9 +120,9 @@ private static Configurator getConfigurator(ServerEndpointConfig baseServerConfi
// Instantiate the provided configurator
try
{
- return anno.configurator().newInstance();
+ return anno.configurator().getConstructor().newInstance();
}
- catch (InstantiationException | IllegalAccessException e)
+ catch (Exception e)
{
StringBuilder err = new StringBuilder();
err.append("Unable to instantiate ServerEndpoint.configurator() of ");
diff --git a/jetty-websocket/websocket-jetty-common/src/main/java/module-info.java b/jetty-websocket/websocket-jetty-common/src/main/java/module-info.java
index 2e235491619f..425d5e93fdc7 100644
--- a/jetty-websocket/websocket-jetty-common/src/main/java/module-info.java
+++ b/jetty-websocket/websocket-jetty-common/src/main/java/module-info.java
@@ -21,7 +21,7 @@
module org.eclipse.jetty.websocket.jetty.common
{
- exports org.eclipse.jetty.websocket.common;
+ exports org.eclipse.jetty.websocket.common to org.eclipse.jetty.websocket.jetty.client, org.eclipse.jetty.websocket.jetty.server;
requires org.eclipse.jetty.util;
requires org.slf4j;
From f79cc1e5c154176f529f6c0f67ef606b00c8237c Mon Sep 17 00:00:00 2001
From: Simone Bordet
Date: Tue, 24 Nov 2020 21:57:42 +0100
Subject: [PATCH 10/21] Fixed exports declarations to make
MethodHandles.publicLookup() working properly.
Signed-off-by: Simone Bordet
---
.../websocket-javax-common/src/main/java/module-info.java | 8 ++++----
.../websocket-jetty-common/src/main/java/module-info.java | 2 +-
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/jetty-websocket/websocket-javax-common/src/main/java/module-info.java b/jetty-websocket/websocket-javax-common/src/main/java/module-info.java
index 583302864ab5..705e6d822f9a 100644
--- a/jetty-websocket/websocket-javax-common/src/main/java/module-info.java
+++ b/jetty-websocket/websocket-javax-common/src/main/java/module-info.java
@@ -18,10 +18,10 @@
module org.eclipse.jetty.websocket.javax.common
{
- exports org.eclipse.jetty.websocket.javax.common to org.eclipse.jetty.websocket.javax.server, org.eclipse.jetty.websocket.javax.client;
- exports org.eclipse.jetty.websocket.javax.common.decoders to org.eclipse.jetty.websocket.javax.server, org.eclipse.jetty.websocket.javax.client;
- exports org.eclipse.jetty.websocket.javax.common.encoders to org.eclipse.jetty.websocket.javax.server, org.eclipse.jetty.websocket.javax.client;
- exports org.eclipse.jetty.websocket.javax.common.messages to org.eclipse.jetty.websocket.javax.server, org.eclipse.jetty.websocket.javax.client;
+ exports org.eclipse.jetty.websocket.javax.common;
+ exports org.eclipse.jetty.websocket.javax.common.decoders;
+ exports org.eclipse.jetty.websocket.javax.common.encoders;
+ exports org.eclipse.jetty.websocket.javax.common.messages;
requires org.slf4j;
requires transitive jetty.websocket.api;
diff --git a/jetty-websocket/websocket-jetty-common/src/main/java/module-info.java b/jetty-websocket/websocket-jetty-common/src/main/java/module-info.java
index 425d5e93fdc7..2e235491619f 100644
--- a/jetty-websocket/websocket-jetty-common/src/main/java/module-info.java
+++ b/jetty-websocket/websocket-jetty-common/src/main/java/module-info.java
@@ -21,7 +21,7 @@
module org.eclipse.jetty.websocket.jetty.common
{
- exports org.eclipse.jetty.websocket.common to org.eclipse.jetty.websocket.jetty.client, org.eclipse.jetty.websocket.jetty.server;
+ exports org.eclipse.jetty.websocket.common;
requires org.eclipse.jetty.util;
requires org.slf4j;
From d6ff6222fe8cbc2e574c7a16bf8db278461cb9d5 Mon Sep 17 00:00:00 2001
From: Lachlan Roberts
Date: Wed, 25 Nov 2020 12:12:00 +1100
Subject: [PATCH 11/21] fix broken tests with wrong WebSocketUpgradeFilter
package name
Signed-off-by: Lachlan Roberts
---
.../src/test/resources/alt-filter-web.xml | 4 ++--
.../src/test/resources/wsuf-ordering1.xml | 2 +-
.../src/test/resources/wsuf-ordering2.xml | 8 ++++----
3 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/jetty-websocket/websocket-javax-tests/src/test/resources/alt-filter-web.xml b/jetty-websocket/websocket-javax-tests/src/test/resources/alt-filter-web.xml
index c9b422ef725a..33f124437f7e 100644
--- a/jetty-websocket/websocket-javax-tests/src/test/resources/alt-filter-web.xml
+++ b/jetty-websocket/websocket-javax-tests/src/test/resources/alt-filter-web.xml
@@ -12,12 +12,12 @@
- org.eclipse.jetty.websocket.util.server.WebSocketUpgradeFilter
+ org.eclipse.jetty.websocket.servlet.WebSocketUpgradeFilter
org.eclipse.jetty.websocket.servlet.WebSocketUpgradeFilter
- org.eclipse.jetty.websocket.util.server.WebSocketUpgradeFilter
+ org.eclipse.jetty.websocket.servlet.WebSocketUpgradeFilter
/echo/*
diff --git a/jetty-websocket/websocket-jetty-tests/src/test/resources/wsuf-ordering1.xml b/jetty-websocket/websocket-jetty-tests/src/test/resources/wsuf-ordering1.xml
index b93d673a43b2..85bad9fa7d53 100644
--- a/jetty-websocket/websocket-jetty-tests/src/test/resources/wsuf-ordering1.xml
+++ b/jetty-websocket/websocket-jetty-tests/src/test/resources/wsuf-ordering1.xml
@@ -8,7 +8,7 @@
wsuf-alt
- org.eclipse.jetty.websocket.util.server.WebSocketUpgradeFilter
+ org.eclipse.jetty.websocket.servlet.WebSocketUpgradeFilter
idleTimeout
5999
diff --git a/jetty-websocket/websocket-jetty-tests/src/test/resources/wsuf-ordering2.xml b/jetty-websocket/websocket-jetty-tests/src/test/resources/wsuf-ordering2.xml
index a733873a6712..456e5a178647 100644
--- a/jetty-websocket/websocket-jetty-tests/src/test/resources/wsuf-ordering2.xml
+++ b/jetty-websocket/websocket-jetty-tests/src/test/resources/wsuf-ordering2.xml
@@ -9,7 +9,7 @@
wsuf-alt
- org.eclipse.jetty.websocket.util.server.WebSocketUpgradeFilter
+ org.eclipse.jetty.websocket.servlet.WebSocketUpgradeFilter
idleTimeout
5999
@@ -22,11 +22,11 @@
- org.eclipse.jetty.websocket.util.server.WebSocketUpgradeFilter
- org.eclipse.jetty.websocket.util.server.WebSocketUpgradeFilter
+ org.eclipse.jetty.websocket.servlet.WebSocketUpgradeFilter
+ org.eclipse.jetty.websocket.servlet.WebSocketUpgradeFilter
- org.eclipse.jetty.websocket.util.server.WebSocketUpgradeFilter
+ org.eclipse.jetty.websocket.servlet.WebSocketUpgradeFilter
/*
From fbf8113405071a08bcef07ea08dad042b4e682e1 Mon Sep 17 00:00:00 2001
From: olivier lamy
Date: Thu, 26 Nov 2020 10:47:07 +1000
Subject: [PATCH 12/21] remove -T3 option to not have parallel build
Signed-off-by: olivier lamy
---
Jenkinsfile | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/Jenkinsfile b/Jenkinsfile
index 772aca36c8ff..6dec0206ff46 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -12,7 +12,7 @@ pipeline {
steps {
container('jetty-build') {
timeout( time: 120, unit: 'MINUTES' ) {
- mavenBuild( "jdk11", "-T3 clean install", "maven3",
+ mavenBuild( "jdk11", "clean install", "maven3",
[[parserName: 'Maven'], [parserName: 'Java'], [parserName: 'JavaDoc']] )
// Collect up the jacoco execution results (only on main build)
jacoco inclusionPattern: '**/org/eclipse/jetty/**/*.class',
@@ -41,7 +41,7 @@ pipeline {
steps {
container( 'jetty-build' ) {
timeout( time: 120, unit: 'MINUTES' ) {
- mavenBuild( "jdk15", "clean install -T3 -Djacoco.skip=true", "maven3",
+ mavenBuild( "jdk15", "clean install -Djacoco.skip=true", "maven3",
[[parserName: 'Maven'], [parserName: 'Java'], [parserName: 'JavaDoc']])
}
}
From 85a2976d1830e7bc5aa319883c094db3a30cd65e Mon Sep 17 00:00:00 2001
From: olivier lamy
Date: Thu, 26 Nov 2020 12:24:59 +1000
Subject: [PATCH 13/21] no need of jacoco here
Signed-off-by: olivier lamy
---
tests/test-integration/pom.xml | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/tests/test-integration/pom.xml b/tests/test-integration/pom.xml
index 3eaf8f5da281..03814541c378 100644
--- a/tests/test-integration/pom.xml
+++ b/tests/test-integration/pom.xml
@@ -69,6 +69,17 @@
+
+
+
+ org.jacoco
+ jacoco-maven-plugin
+
+ true
+
+
+
+
From edb5b73b6c6dd712c82500bdbe75eba5a97829d2 Mon Sep 17 00:00:00 2001
From: olivier lamy
Date: Thu, 26 Nov 2020 13:17:58 +1000
Subject: [PATCH 14/21] do no reuse forks
Signed-off-by: olivier lamy
---
tests/test-integration/pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tests/test-integration/pom.xml b/tests/test-integration/pom.xml
index 03814541c378..44468f6dd6f1 100644
--- a/tests/test-integration/pom.xml
+++ b/tests/test-integration/pom.xml
@@ -63,7 +63,7 @@
maven-surefire-plugin
-
+ false
true
false
From 6d14d482d25d24c1f192474e2fda64467b0cb1d0 Mon Sep 17 00:00:00 2001
From: olivier lamy
Date: Fri, 27 Nov 2020 11:20:27 +1000
Subject: [PATCH 15/21] remove logback dependency and disable debug log level
Signed-off-by: olivier lamy
---
tests/test-integration/pom.xml | 10 +++++-----
.../src/test/resources/jetty-logging.properties | 2 +-
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/tests/test-integration/pom.xml b/tests/test-integration/pom.xml
index 44468f6dd6f1..69d06c736044 100644
--- a/tests/test-integration/pom.xml
+++ b/tests/test-integration/pom.xml
@@ -188,10 +188,10 @@
${project.version}
test
-
- ch.qos.logback
- logback-classic
- 1.2.3
-
+
+
+
+
+
diff --git a/tests/test-integration/src/test/resources/jetty-logging.properties b/tests/test-integration/src/test/resources/jetty-logging.properties
index a3b4ac63db8d..0003cced627a 100644
--- a/tests/test-integration/src/test/resources/jetty-logging.properties
+++ b/tests/test-integration/src/test/resources/jetty-logging.properties
@@ -1,4 +1,4 @@
# Jetty Logging using jetty-slf4j-impl
-org.eclipse.jetty.LEVEL=DEBUG
+#org.eclipse.jetty.LEVEL=DEBUG
#org.eclipse.jetty.websocket.LEVEL=DEBUG
#org.eclipse.jetty.util.ssl.KeyStoreScanner.LEVEL=DEBUG
From fee17ecc6cc959e40d70ff9d71e9b727546bc1d2 Mon Sep 17 00:00:00 2001
From: olivier lamy
Date: Fri, 27 Nov 2020 13:26:00 +1000
Subject: [PATCH 16/21] make this test dynamic instead of hardcoded version...
Signed-off-by: olivier lamy
---
jetty-maven-plugin/pom.xml | 1 +
.../postbuild.groovy | 2 +-
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/jetty-maven-plugin/pom.xml b/jetty-maven-plugin/pom.xml
index 7f7da35f21d4..560b7af48cf6 100644
--- a/jetty-maven-plugin/pom.xml
+++ b/jetty-maven-plugin/pom.xml
@@ -103,6 +103,7 @@
${jetty.stopKey}
${jetty.stopPort}
${maven.surefire.version}
+ ${servlet.api.version}
clean
diff --git a/jetty-maven-plugin/src/it/jetty-start-mojo-multi-module-single-war-it/postbuild.groovy b/jetty-maven-plugin/src/it/jetty-start-mojo-multi-module-single-war-it/postbuild.groovy
index 97e23b4c98da..959e6925a267 100644
--- a/jetty-maven-plugin/src/it/jetty-start-mojo-multi-module-single-war-it/postbuild.groovy
+++ b/jetty-maven-plugin/src/it/jetty-start-mojo-multi-module-single-war-it/postbuild.groovy
@@ -21,7 +21,7 @@ assert buildLog.text.contains( 'Started Server' )
assert buildLog.text.contains( '(1a) >> javax.servlet.ServletContextListener loaded from jar:' )
-assert buildLog.text.contains( '/org/eclipse/jetty/toolchain/jetty-servlet-api/4.0.4/jetty-servlet-api-4.0.4.jar!/javax/servlet/ServletContextListener.class << (1b)' )
+assert buildLog.text.contains( '/org/eclipse/jetty/toolchain/jetty-servlet-api/'+servletApiVersion+'/jetty-servlet-api-'+servletApiVersion+'.jar!/javax/servlet/ServletContextListener.class << (1b)' )
assert buildLog.text.contains( '(2a) >> mca.common.CommonService loaded from file:' )
assert buildLog.text.contains( 'common/target/classes/mca/common/CommonService.class << (2b)' )
From c930bee83024513f9f8e1281da4f2e4424b6ff07 Mon Sep 17 00:00:00 2001
From: olivier lamy
Date: Fri, 27 Nov 2020 16:56:54 +1000
Subject: [PATCH 17/21] use -fae
Signed-off-by: olivier lamy
---
Jenkinsfile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Jenkinsfile b/Jenkinsfile
index 1f3edce87002..07eba8a6dea7 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -98,7 +98,7 @@ def mavenBuild(jdk, cmdline, mvnName, consoleParsers) {
"MAVEN_OPTS=-Xms2g -Xmx4g -Djava.awt.headless=true"]) {
configFileProvider(
[configFile(fileId: 'oss-settings.xml', variable: 'GLOBAL_MVN_SETTINGS')]) {
- sh "mvn -s $GLOBAL_MVN_SETTINGS -DsettingsPath=$GLOBAL_MVN_SETTINGS -Pci -V -B -e -Djetty.testtracker.log=true $cmdline javadoc:jar -Dunix.socket.tmp=" +
+ sh "mvn -fae -s $GLOBAL_MVN_SETTINGS -DsettingsPath=$GLOBAL_MVN_SETTINGS -Pci -V -B -e -Djetty.testtracker.log=true $cmdline javadoc:jar -Dunix.socket.tmp=" +
env.JENKINS_HOME
}
}
From df09b65cfaa105e0e55079916fa0662129ae472d Mon Sep 17 00:00:00 2001
From: Lachlan Roberts
Date: Mon, 30 Nov 2020 11:39:39 +1100
Subject: [PATCH 18/21] change websocket-servlet bundle symbolic name
Signed-off-by: Lachlan Roberts
---
jetty-websocket/websocket-servlet/pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/jetty-websocket/websocket-servlet/pom.xml b/jetty-websocket/websocket-servlet/pom.xml
index b60a77c7d36f..cc7867879234 100644
--- a/jetty-websocket/websocket-servlet/pom.xml
+++ b/jetty-websocket/websocket-servlet/pom.xml
@@ -11,7 +11,7 @@
Jetty :: Websocket :: org.eclipse.jetty.websocket :: Util-Server
- ${project.groupId}.util.server
+ ${project.groupId}.servlet
From 3525c76f12d48e0eaaabec91d24445be3e5b7cd5 Mon Sep 17 00:00:00 2001
From: olivier lamy
Date: Wed, 2 Dec 2020 06:12:24 +1000
Subject: [PATCH 19/21] cleanup changes
Signed-off-by: olivier lamy
---
Jenkinsfile | 2 +-
tests/test-integration/pom.xml | 17 -----------------
2 files changed, 1 insertion(+), 18 deletions(-)
diff --git a/Jenkinsfile b/Jenkinsfile
index 07eba8a6dea7..1f3edce87002 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -98,7 +98,7 @@ def mavenBuild(jdk, cmdline, mvnName, consoleParsers) {
"MAVEN_OPTS=-Xms2g -Xmx4g -Djava.awt.headless=true"]) {
configFileProvider(
[configFile(fileId: 'oss-settings.xml', variable: 'GLOBAL_MVN_SETTINGS')]) {
- sh "mvn -fae -s $GLOBAL_MVN_SETTINGS -DsettingsPath=$GLOBAL_MVN_SETTINGS -Pci -V -B -e -Djetty.testtracker.log=true $cmdline javadoc:jar -Dunix.socket.tmp=" +
+ sh "mvn -s $GLOBAL_MVN_SETTINGS -DsettingsPath=$GLOBAL_MVN_SETTINGS -Pci -V -B -e -Djetty.testtracker.log=true $cmdline javadoc:jar -Dunix.socket.tmp=" +
env.JENKINS_HOME
}
}
diff --git a/tests/test-integration/pom.xml b/tests/test-integration/pom.xml
index 69d06c736044..e2835585f6e6 100644
--- a/tests/test-integration/pom.xml
+++ b/tests/test-integration/pom.xml
@@ -62,24 +62,12 @@
org.apache.maven.plugins
maven-surefire-plugin
-
false
true
false
-
-
-
- org.jacoco
- jacoco-maven-plugin
-
- true
-
-
-
-
@@ -188,10 +176,5 @@
${project.version}
test
-
-
-
-
-
From 2f611563f869f76650c7b9fee1fd9249e9d99062 Mon Sep 17 00:00:00 2001
From: olivier lamy
Date: Wed, 2 Dec 2020 06:50:26 +1000
Subject: [PATCH 20/21] restore bugs....
Signed-off-by: olivier lamy
---
tests/test-integration/pom.xml | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/tests/test-integration/pom.xml b/tests/test-integration/pom.xml
index e2835585f6e6..3eaf8f5da281 100644
--- a/tests/test-integration/pom.xml
+++ b/tests/test-integration/pom.xml
@@ -62,7 +62,8 @@
org.apache.maven.plugins
maven-surefire-plugin
- false
+
+
true
false
@@ -176,5 +177,10 @@
${project.version}
test
+
+ ch.qos.logback
+ logback-classic
+ 1.2.3
+
From 043d2d1ff748d6529a7550e617e2e1435b775980 Mon Sep 17 00:00:00 2001
From: Simone Bordet
Date: Wed, 2 Dec 2020 00:02:37 +0100
Subject: [PATCH 21/21] Updates after review.
Signed-off-by: Simone Bordet
---
jetty-websocket/pom.xml | 2 +-
.../jetty/websocket/core/server/WebSocketMappings.java | 10 +++++-----
.../websocket/core/server/WebSocketUpgradeHandler.java | 4 ----
...ndlerTest.java => WebSocketUpgradeHandlerTest.java} | 4 ++--
.../jetty/websocket/core/proxy/WebSocketProxyTest.java | 2 +-
.../src/main/java/module-info.java | 6 +++---
.../src/main/java/module-info.java | 2 +-
.../server/JettyWebSocketServerContainer.java | 2 +-
.../jetty/websocket/server/JettyWebSocketServlet.java | 2 +-
jetty-websocket/websocket-servlet/pom.xml | 3 +--
.../websocket-servlet/src/main/java/module-info.java | 4 ++--
11 files changed, 18 insertions(+), 23 deletions(-)
rename jetty-websocket/websocket-core-tests/src/test/java/org/eclipse/jetty/websocket/core/{UpgradeHandlerTest.java => WebSocketUpgradeHandlerTest.java} (95%)
diff --git a/jetty-websocket/pom.xml b/jetty-websocket/pom.xml
index c2e4e8f858c8..082b8b56fcbc 100644
--- a/jetty-websocket/pom.xml
+++ b/jetty-websocket/pom.xml
@@ -28,7 +28,7 @@
websocket-javax-client
websocket-javax-server
websocket-javax-tests
-
+
websocket-servlet
diff --git a/jetty-websocket/websocket-core-server/src/main/java/org/eclipse/jetty/websocket/core/server/WebSocketMappings.java b/jetty-websocket/websocket-core-server/src/main/java/org/eclipse/jetty/websocket/core/server/WebSocketMappings.java
index c82dedfce1e3..ee5dc0f4f081 100644
--- a/jetty-websocket/websocket-core-server/src/main/java/org/eclipse/jetty/websocket/core/server/WebSocketMappings.java
+++ b/jetty-websocket/websocket-core-server/src/main/java/org/eclipse/jetty/websocket/core/server/WebSocketMappings.java
@@ -59,14 +59,14 @@ public class WebSocketMappings implements Dumpable, LifeCycle.Listener
private static final Logger LOG = LoggerFactory.getLogger(WebSocketMappings.class);
public static final String WEBSOCKET_MAPPING_ATTRIBUTE = WebSocketMappings.class.getName();
- public static WebSocketMappings getMappings(ServletContext servletContext)
+ public static WebSocketMappings getWebSocketNegotiator(ServletContext servletContext)
{
return (WebSocketMappings)servletContext.getAttribute(WEBSOCKET_MAPPING_ATTRIBUTE);
}
public static WebSocketMappings ensureMappings(ServletContext servletContext)
{
- WebSocketMappings mapping = getMappings(servletContext);
+ WebSocketMappings mapping = getWebSocketNegotiator(servletContext);
if (mapping == null)
{
mapping = new WebSocketMappings(WebSocketServerComponents.getWebSocketComponents(servletContext));
@@ -153,14 +153,14 @@ public void dump(Appendable out, String indent) throws IOException
Dumpable.dumpObjects(out, indent, this, mappings);
}
- public WebSocketNegotiator getMappings(PathSpec pathSpec)
+ public WebSocketNegotiator getWebSocketNegotiator(PathSpec pathSpec)
{
return mappings.get(pathSpec);
}
- public WebSocketCreator getCreator(PathSpec pathSpec)
+ public WebSocketCreator getWebSocketCreator(PathSpec pathSpec)
{
- WebSocketNegotiator negotiator = getMappings(pathSpec);
+ WebSocketNegotiator negotiator = getWebSocketNegotiator(pathSpec);
if (negotiator instanceof CreatorNegotiator)
return ((CreatorNegotiator)negotiator).getWebSocketCreator();
return null;
diff --git a/jetty-websocket/websocket-core-server/src/main/java/org/eclipse/jetty/websocket/core/server/WebSocketUpgradeHandler.java b/jetty-websocket/websocket-core-server/src/main/java/org/eclipse/jetty/websocket/core/server/WebSocketUpgradeHandler.java
index 985384f5019d..9e443b8a9681 100644
--- a/jetty-websocket/websocket-core-server/src/main/java/org/eclipse/jetty/websocket/core/server/WebSocketUpgradeHandler.java
+++ b/jetty-websocket/websocket-core-server/src/main/java/org/eclipse/jetty/websocket/core/server/WebSocketUpgradeHandler.java
@@ -29,13 +29,9 @@
import org.eclipse.jetty.server.handler.HandlerWrapper;
import org.eclipse.jetty.websocket.core.Configuration;
import org.eclipse.jetty.websocket.core.WebSocketComponents;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
public class WebSocketUpgradeHandler extends HandlerWrapper
{
- private static final Logger LOG = LoggerFactory.getLogger(WebSocketUpgradeHandler.class);
-
private final WebSocketMappings mappings;
private final Configuration.ConfigurationCustomizer customizer = new Configuration.ConfigurationCustomizer();
diff --git a/jetty-websocket/websocket-core-tests/src/test/java/org/eclipse/jetty/websocket/core/UpgradeHandlerTest.java b/jetty-websocket/websocket-core-tests/src/test/java/org/eclipse/jetty/websocket/core/WebSocketUpgradeHandlerTest.java
similarity index 95%
rename from jetty-websocket/websocket-core-tests/src/test/java/org/eclipse/jetty/websocket/core/UpgradeHandlerTest.java
rename to jetty-websocket/websocket-core-tests/src/test/java/org/eclipse/jetty/websocket/core/WebSocketUpgradeHandlerTest.java
index f4338f5a3750..7f700a385c5d 100644
--- a/jetty-websocket/websocket-core-tests/src/test/java/org/eclipse/jetty/websocket/core/UpgradeHandlerTest.java
+++ b/jetty-websocket/websocket-core-tests/src/test/java/org/eclipse/jetty/websocket/core/WebSocketUpgradeHandlerTest.java
@@ -33,7 +33,7 @@
import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertTrue;
-public class UpgradeHandlerTest
+public class WebSocketUpgradeHandlerTest
{
private Server server;
private WebSocketCoreClient client;
@@ -65,7 +65,7 @@ public void after() throws Exception
}
@Test
- public void test() throws Exception
+ public void testUpgradeByWebSocketUpgradeHandler() throws Exception
{
TestMessageHandler clientEndpoint = new TestMessageHandler();
CoreSession coreSession = client.connect(clientEndpoint, serverUri.resolve("/path/echo")).get(5, TimeUnit.SECONDS);
diff --git a/jetty-websocket/websocket-core-tests/src/test/java/org/eclipse/jetty/websocket/core/proxy/WebSocketProxyTest.java b/jetty-websocket/websocket-core-tests/src/test/java/org/eclipse/jetty/websocket/core/proxy/WebSocketProxyTest.java
index b5db56eaf34d..a002e710d9c9 100644
--- a/jetty-websocket/websocket-core-tests/src/test/java/org/eclipse/jetty/websocket/core/proxy/WebSocketProxyTest.java
+++ b/jetty-websocket/websocket-core-tests/src/test/java/org/eclipse/jetty/websocket/core/proxy/WebSocketProxyTest.java
@@ -120,7 +120,7 @@ public void start() throws Exception
handlers.addHandler(serverContext);
ContextHandler proxyContext = new ContextHandler("/proxy");
- negotiator = new TestWebSocketNegotiator(proxy.client2Proxy, defaultCustomizer);
+ negotiator = WebSocketNegotiator.from(negotiation -> proxy.client2Proxy, defaultCustomizer);
upgradeHandler = new WebSocketUpgradeHandler();
upgradeHandler.addMapping("/*", negotiator);
proxyContext.setHandler(upgradeHandler);
diff --git a/jetty-websocket/websocket-javax-server/src/main/java/module-info.java b/jetty-websocket/websocket-javax-server/src/main/java/module-info.java
index 60102eb22e1e..e61520f2c6a7 100644
--- a/jetty-websocket/websocket-javax-server/src/main/java/module-info.java
+++ b/jetty-websocket/websocket-javax-server/src/main/java/module-info.java
@@ -28,14 +28,14 @@
{
exports org.eclipse.jetty.websocket.javax.server.config;
+ requires org.eclipse.jetty.websocket.core.server;
requires org.eclipse.jetty.websocket.javax.common;
requires org.eclipse.jetty.websocket.servlet;
- requires org.eclipse.jetty.websocket.core.server;
requires org.slf4j;
requires transitive org.eclipse.jetty.webapp;
requires transitive org.eclipse.jetty.websocket.javax.client;
- provides ServletContainerInitializer with JavaxWebSocketServletContainerInitializer;
- provides ServerEndpointConfig.Configurator with ContainerDefaultConfigurator;
provides Configuration with JavaxWebSocketConfiguration;
+ provides ServerEndpointConfig.Configurator with ContainerDefaultConfigurator;
+ provides ServletContainerInitializer with JavaxWebSocketServletContainerInitializer;
}
diff --git a/jetty-websocket/websocket-jetty-server/src/main/java/module-info.java b/jetty-websocket/websocket-jetty-server/src/main/java/module-info.java
index 78cf8a627cc2..13530d914388 100644
--- a/jetty-websocket/websocket-jetty-server/src/main/java/module-info.java
+++ b/jetty-websocket/websocket-jetty-server/src/main/java/module-info.java
@@ -28,9 +28,9 @@
exports org.eclipse.jetty.websocket.server.config;
requires jetty.servlet.api;
+ requires org.eclipse.jetty.websocket.core.server;
requires org.eclipse.jetty.websocket.jetty.common;
requires org.eclipse.jetty.websocket.servlet;
- requires org.eclipse.jetty.websocket.core.server;
requires org.slf4j;
requires transitive org.eclipse.jetty.webapp;
requires transitive org.eclipse.jetty.websocket.jetty.api;
diff --git a/jetty-websocket/websocket-jetty-server/src/main/java/org/eclipse/jetty/websocket/server/JettyWebSocketServerContainer.java b/jetty-websocket/websocket-jetty-server/src/main/java/org/eclipse/jetty/websocket/server/JettyWebSocketServerContainer.java
index 9c5e4effe43a..7277dd6cb37d 100644
--- a/jetty-websocket/websocket-jetty-server/src/main/java/org/eclipse/jetty/websocket/server/JettyWebSocketServerContainer.java
+++ b/jetty-websocket/websocket-jetty-server/src/main/java/org/eclipse/jetty/websocket/server/JettyWebSocketServerContainer.java
@@ -123,7 +123,7 @@ public static JettyWebSocketServerContainer ensureContainer(ServletContext servl
public void addMapping(String pathSpec, JettyWebSocketCreator creator)
{
PathSpec ps = WebSocketMappings.parsePathSpec(pathSpec);
- if (webSocketMappings.getMappings(ps) != null)
+ if (webSocketMappings.getWebSocketNegotiator(ps) != null)
throw new WebSocketException("Duplicate WebSocket Mapping for PathSpec");
WebSocketUpgradeFilter.ensureFilter(contextHandler.getServletContext());
diff --git a/jetty-websocket/websocket-jetty-server/src/main/java/org/eclipse/jetty/websocket/server/JettyWebSocketServlet.java b/jetty-websocket/websocket-jetty-server/src/main/java/org/eclipse/jetty/websocket/server/JettyWebSocketServlet.java
index 184cbfa8fa3a..8cf98be4ecf5 100644
--- a/jetty-websocket/websocket-jetty-server/src/main/java/org/eclipse/jetty/websocket/server/JettyWebSocketServlet.java
+++ b/jetty-websocket/websocket-jetty-server/src/main/java/org/eclipse/jetty/websocket/server/JettyWebSocketServlet.java
@@ -249,7 +249,7 @@ public void setCreator(JettyWebSocketCreator creator)
@Override
public JettyWebSocketCreator getMapping(String pathSpec)
{
- WebSocketCreator creator = mapping.getCreator(WebSocketMappings.parsePathSpec(pathSpec));
+ WebSocketCreator creator = mapping.getWebSocketCreator(WebSocketMappings.parsePathSpec(pathSpec));
if (creator instanceof WrappedJettyCreator)
return ((WrappedJettyCreator)creator).getJettyWebSocketCreator();
return null;
diff --git a/jetty-websocket/websocket-servlet/pom.xml b/jetty-websocket/websocket-servlet/pom.xml
index cc7867879234..063d33cb1dea 100644
--- a/jetty-websocket/websocket-servlet/pom.xml
+++ b/jetty-websocket/websocket-servlet/pom.xml
@@ -8,7 +8,7 @@
4.0.0
websocket-servlet
- Jetty :: Websocket :: org.eclipse.jetty.websocket :: Util-Server
+ Jetty :: Websocket :: Servlet
${project.groupId}.servlet
@@ -55,7 +55,6 @@
org.eclipse.jetty
jetty-servlet
${project.version}
- provided
org.slf4j
diff --git a/jetty-websocket/websocket-servlet/src/main/java/module-info.java b/jetty-websocket/websocket-servlet/src/main/java/module-info.java
index 80d8bc15893d..e3912db017ac 100644
--- a/jetty-websocket/websocket-servlet/src/main/java/module-info.java
+++ b/jetty-websocket/websocket-servlet/src/main/java/module-info.java
@@ -20,7 +20,7 @@
{
exports org.eclipse.jetty.websocket.servlet;
- requires org.slf4j;
- requires org.eclipse.jetty.websocket.core.server;
requires transitive org.eclipse.jetty.servlet;
+ requires org.eclipse.jetty.websocket.core.server;
+ requires org.slf4j;
}