-
Notifications
You must be signed in to change notification settings - Fork 38.3k
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
Support RFC 8441 WebSocket upgrade with HTTP/2 CONNECT #34362
base: 6.2.x
Are you sure you want to change the base?
Conversation
@jazdw thanks for testing and sending this. Could you check the DCO instructions on how to sign off your commit and update the PR branch? This is required for us to process this. About checking for HTTP/2, |
I dug into this a little more, Jetty verifies the It also verifies the method is I am wondering if we should add a |
Closes spring-projectsgh-34362 Signed-off-by: Jared Wiltshire <[email protected]>
I don't mind a dedicated supports check for RFC 8441 as long as it is possible through the Servlet API. Jetty is at a lower level and can perform more checks I suspect. |
Signed-off-by: Jared Wiltshire <[email protected]>
@rstoyanchev I've pushed another commit, I don't know that it is necessary though. Happy for you to drop the second commit if you are happy with just the first. I've tested it on Jetty 12 EE10 with both GET |
f477c16 which closed #34044 was an incomplete fix. Further changes are necessary to support HTTP/2 CONNECT WebSocket upgrades (RFC 8441).
I have manually tested this PR and the CONNECT WebSocket upgrade works as expected using Jetty 12 EE10.
Link to RFC:
https://datatracker.ietf.org/doc/html/rfc8441
The RFC explicitly says that the
Sec-WebSocket-Key
header is not required:The RFC explicitly says that the
Connection
andUpgrade
headers are not required:TODO
:protocol
pseudo-header