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

Ability to define WebSocket Extensions #1607

Closed
dansiviter opened this issue Apr 2, 2020 · 5 comments
Closed

Ability to define WebSocket Extensions #1607

dansiviter opened this issue Apr 2, 2020 · 5 comments
Assignees
Labels
enhancement New feature or request MP webserver
Milestone

Comments

@dansiviter
Copy link
Contributor

Environment Details

  • Helidon Version: 2.0.0-M2
  • Helidon SE or Helidon MP: MP
  • JDK version: N/A
  • OS: N/A
  • Docker version (if applicable):

Problem Description

WebSocket implementation does not permit defining of installed extensions. This is predicated on another change being performed in Tyrus before this can work: (eclipse-ee4j/tyrus#694).

I think the change would be overriding the #getInstalledExtensions method in here but not sure of how the actual Extension classes should be passed/loaded into it.

Steps to reproduce

N/A

@spericas
Copy link
Member

spericas commented Apr 2, 2020

@dansiviter Interesting, what extension are you looking to use?

@spericas spericas self-assigned this Apr 2, 2020
@dansiviter
Copy link
Contributor Author

@spericas permessage-deflate is the key one. It massively shrinks the websocket frames which is very useful for larger messages when clients are not geographically close.

It looks like Tyrus needs to do some work before Helidon can leverage it though. Undertow uses #installedExtensions as a basis for all endpoints, but Tyrus doesn't for some reason. 🤷‍♂

@dansiviter
Copy link
Contributor Author

dansiviter commented Apr 18, 2020

I've submitted a PR to Tyrus to link this to WebsocketContainer#getInstalledExtensions (eclipse-ee4j/tyrus#695). With this it should just be a case of overriding TyrusServerContainer#getInstalledExtensions in TyrusSupport.

@dansiviter
Copy link
Contributor Author

Looks like 2.0.0-M1 of Tyrus has this in. I'll create a PR when it's made it to release version.

dansiviter added a commit to dansiviter/helidon that referenced this issue Aug 24, 2020
barchetta pushed a commit that referenced this issue Sep 14, 2020
@barchetta barchetta added this to the 2.1.0 milestone Sep 14, 2020
@barchetta barchetta added MP enhancement New feature or request labels Sep 14, 2020
@barchetta
Copy link
Member

Implemented by PR #1934. Thanks @dansiviter

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request MP webserver
Projects
None yet
Development

No branches or pull requests

3 participants