Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fixes for EE11 Jakarta WebSocket implementation to fix TCK failures. #12875

Open
wants to merge 31 commits into
base: jetty-12.1.x
Choose a base branch
from

Conversation

lachlan-roberts
Copy link
Contributor

This PR is ported #12830, so we make these changes to Jetty-12.1 EE11 instead of Jetty-12 EE10.

This reduces the number of WebSocket TCK failures from over 200 to 5.
The remaining test failures will be challenged in the TCK or followed up with an additional fix.

Some notable changes in this PR (not a comprehensive list):

  • Error handling: the jakarta onError method lets you handle errors without it closing the connection. Because of this onError can now be called any number of times for a single WebSocket connection.
  • Significant changes to the InvokerUtils.mutatedInvoker to support allowing PathParams defined in the method signature which are not part of the URI template. The spec says that the value for this should always be null.
  • Deployment exception is now thrown in more cases and in cases where other exceptions were previously thrown.
  • Allow ReflectUtils.findGenericTypeFor to work on Type instead of just Class to allow for parameterized and array types.

Signed-off-by: Lachlan Roberts <[email protected]>
@lachlan-roberts lachlan-roberts self-assigned this Mar 5, 2025
@lachlan-roberts lachlan-roberts added the TCK For various Specification Test Compatibility Kits (eg: Servlet, WebSocket, HTTP/2, etc) label Mar 5, 2025
Signed-off-by: Lachlan Roberts <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
TCK For various Specification Test Compatibility Kits (eg: Servlet, WebSocket, HTTP/2, etc)
Projects
Status: 👀 In review
Development

Successfully merging this pull request may close these issues.

3 participants