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

Support H2C prior knowledge #6301

Closed
yawkat opened this issue Oct 7, 2021 · 10 comments · Fixed by #10761
Closed

Support H2C prior knowledge #6301

yawkat opened this issue Oct 7, 2021 · 10 comments · Fixed by #10761
Assignees
Labels
type: improvement A minor improvement to an existing feature

Comments

@yawkat
Copy link
Member

yawkat commented Oct 7, 2021

Issue description

Micronaut does not appear to support h2c with prior knowledge. Also see https://curl.se/docs/http2.html and #5005 (comment) . Netty does seem to have support, so it should be possible to implement.

@yawkat yawkat added the type: improvement A minor improvement to an existing feature label Oct 7, 2021
@yawkat yawkat self-assigned this Oct 7, 2021
@yawkat yawkat added the priority: low Low priority label Oct 19, 2021
@sgammon
Copy link
Contributor

sgammon commented Dec 24, 2021

@yawkat i just wanted to note that Cloud Run's HTTP/2 support in GCP is predicated on h2c support, preventing micronaut users from flipping the HTTP/2 switch:

https://cloud.google.com/run/docs/configuring/http2#before_you_configure

@yawkat yawkat removed the priority: low Low priority label Dec 29, 2021
@yawkat
Copy link
Member Author

yawkat commented Dec 29, 2021

That's unfortunate. Weird that they have no TLS option.

@vitdolphin
Copy link

any plans to get this fixed?

@yawkat
Copy link
Member Author

yawkat commented Nov 22, 2022

probably fairly easy with the changes in 4.0.0, but it won't be fixed before then

@vitdolphin
Copy link

when is the 4.0.0 coming out?

@yawkat
Copy link
Member Author

yawkat commented Nov 30, 2022

probably early next year

@sgammon
Copy link
Contributor

sgammon commented Nov 29, 2023

hey @yawkat... how's it going :)

we now need this for a new use case

@yawkat
Copy link
Member Author

yawkat commented Dec 4, 2023

it's in the backlog

@sgammon
Copy link
Contributor

sgammon commented Dec 7, 2023

@yawkat is there any way users could help with this?

@yawkat
Copy link
Member Author

yawkat commented Dec 7, 2023

not really, though it doesn't seem super difficult to implement. all the pipeline setup is already there for alpn-based http2. it just needs the config options (a new plaintext mode for the client, and a new flag for the server listener configuration), some plumbing, and tests.

yawkat added a commit that referenced this issue Apr 24, 2024
When accepting HTTP/2 plaintext connections, also accept prior knowledge HTTP/2. This actually already mostly worked for the new Http2ServerHandler, the changes are only necessary for the old multiplex handler.

Also fixed some test flakiness.

Fixes #6301
yawkat added a commit that referenced this issue Apr 30, 2024
When accepting HTTP/2 plaintext connections, also accept prior knowledge HTTP/2. This actually already mostly worked for the new Http2ServerHandler, the changes are only necessary for the old multiplex handler.

Also fixed some test flakiness.

Fixes #6301
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type: improvement A minor improvement to an existing feature
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants