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

Jetty 12: port/move Jetty WebSocket APIs, client and server to jetty-core #9391

Closed
sbordet opened this issue Feb 16, 2023 · 3 comments · Fixed by #9469
Closed

Jetty 12: port/move Jetty WebSocket APIs, client and server to jetty-core #9391

sbordet opened this issue Feb 16, 2023 · 3 comments · Fixed by #9469

Comments

@sbordet
Copy link
Contributor

sbordet commented Feb 16, 2023

Jetty version(s)
12

Description
Would be great if it would be possible to use Jetty WebSocket APIs in applications without the need of Jakarta classes (both Servlet and WebSocket).

Probably the Jetty APIs can be moved, same for the client, but for the server there would be a bit more work to do to make them independent from Jakarta classes.

For example have WebSocketHandler instead of WebSocketFilter/WebSocketServlet to bootstrap WebSocket, and higher level APIs to deal with messages (and not frames).

@lachlan-roberts
Copy link
Contributor

The websocket-jetty-client does not need any Jakarta classes, neither does websocket-jetty-common.

We could remove the Servlet API from websocket-jetty-server, but it will break some people who use this because we give access to HttpServletRequest/HttpServletResponse.

sbordet added a commit that referenced this issue Mar 6, 2023
…tty-core.

* Moved -api, -common, -client to jetty-core/jetty-websocket.
* Implemented jetty-core/jetty-websocket/jetty-websocket-jetty-server using only Jetty core APIs, not Servlet.
* Fixed Graceful shutdown order.
* Fixed mistakes in HttpFieldsWrapper, wrongly calling HttpHeader.name() instead of asString().
* Updated tests to pass cleanly.
* Fixed BOMs and POM dependencies.
* Introduced websocket-jetty.mod and websocket-jetty-client.mod, now used by ee10's Jetty WebSocket.
* Fixed OSGi references to old artifactIds.

Signed-off-by: Simone Bordet <[email protected]>
sbordet added a commit that referenced this issue Mar 10, 2023
…tty-core.

* Javadocs.
* Updates after initial review.

Signed-off-by: Simone Bordet <[email protected]>
sbordet added a commit that referenced this issue Mar 10, 2023
…tty-core.

Added test to show how to lookup and use ServerWebSocketContainer from a Handler.

Signed-off-by: Simone Bordet <[email protected]>
sbordet added a commit that referenced this issue Mar 24, 2023
#9469)

* Moved -api, -common, -client to jetty-core/jetty-websocket.
* Implemented jetty-core/jetty-websocket/jetty-websocket-jetty-server using only Jetty core APIs, not Servlet.
* Fixed Graceful shutdown order.
* Fixed mistakes in HttpFieldsWrapper, wrongly calling HttpHeader.name() instead of asString().
* Updated tests to pass cleanly.
* Fixed BOMs and POM dependencies.
* Introduced websocket-jetty.mod and websocket-jetty-client.mod, now used by ee10's Jetty WebSocket.
* Fixed OSGi references to old artifactIds.
* Added test to show how to lookup and use ServerWebSocketContainer from a Handler.

Signed-off-by: Simone Bordet <[email protected]>
@joakime
Copy link
Contributor

joakime commented Mar 28, 2023

@sbordet isn't this complete now?

@sbordet
Copy link
Contributor Author

sbordet commented Mar 29, 2023

Yes, fixed by #9469.

@sbordet sbordet closed this as completed Mar 29, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants