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

h2c support for new Http2ServerHandler #10663

Merged
merged 6 commits into from
Mar 29, 2024
Merged

h2c support for new Http2ServerHandler #10663

merged 6 commits into from
Mar 29, 2024

Conversation

yawkat
Copy link
Member

@yawkat yawkat commented Mar 28, 2024

This PR implements h2c support for the new non-multiplexed Http2ServerHandler.

Again this can go in 4.4.0 or 4.5.0, I will only turn on the handler by default in 4.5 anyway.

- Decompression implemented through DelegatingDecompressorFrameListener because backpressure is a bit awkward otherwise
- Compression implemented through custom code because we need it for the compression config options we provide
- Merged DecompressionSpec into CompressionSpec
- Moved CompressionSpec to micronaut HTTP client (for HTTP/3 support)
- Added subclasses of CompressionSpec for HTTP/2 and HTTP/3
@yawkat yawkat added the type: improvement A minor improvement to an existing feature label Mar 28, 2024
Copy link
Contributor

@sdelamo sdelamo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you write a test?

@yawkat
Copy link
Member Author

yawkat commented Mar 28, 2024

it's covered by the existing H2cSpec when the legacy flag is disabled

@sdelamo sdelamo added this to the 4.4.0 milestone Mar 29, 2024
Copy link

sonarcloud bot commented Mar 29, 2024

Quality Gate Failed Quality Gate failed

Failed conditions
38.6% Coverage on New Code (required ≥ 70%)

See analysis details on SonarCloud

@sdelamo sdelamo merged commit 8aeb065 into 4.4.x Mar 29, 2024
16 of 17 checks passed
@sdelamo sdelamo deleted the h2c-multiplex branch March 29, 2024 16:28
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
Status: Done
Development

Successfully merging this pull request may close these issues.

3 participants