-
-
Notifications
You must be signed in to change notification settings - Fork 291
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 WebSocket upgrade #347
Comments
Would you be able to provide a summary of the ways in which |
Here is a summary of RFC:
[^1] : https://tools.ietf.org/html/rfc8441#section-3 |
Seems plausible. I wonder if we need to add support for that specific settings option or we can extend |
I've been looking into this. Adding SETTINGS_ENABLE_CONNECT_PROTOCOL is straightforward but I'm stuck on exposing the :protocol pseudo-header. The client needs to send it, the server needs to receive it, but I can't pass it through |
Hm, ya... The first thing that comes to my mind is to store some |
I had the same thought and have a local prototype that adds a It feels kind of icky for reasons I can't quite articulate though. :-) |
Is it feasible to add the pseudo header information to the |
Is there any way I can help? |
I believe this was largely done by @nox in #565 a year ago. Anything missing? It looks like The server tests don't seem to cover this. |
I added the following code to if let Some(p) = pseudo.protocol {
if let Some(exts) = b.extensions_mut() {
exts.insert(p);
}
} Lines 1427 to 1535 in 07d20b1
|
This exposes the :protocol pseudo header as Request extension. Fixes #347
RFC 8441 specifies the upgrade mechanism to WebSocket over HTTP/2. Since it includes several extensions to the HTTP/2 protocol, the server API might need to support the configuration of them.
The text was updated successfully, but these errors were encountered: