h2
h2 copied to clipboard
HTTP 2.0 client & server implementation for Rust.
## Description The current `LengthDelimitedCodec` implementation has a bug (tokio-rs/tokio#4815) where length adjustment is not applied before checking overflow. And the PR that tries to fix the bug (tokio-rs/tokio#4816) currently...
This bound is only necessary when calling methods on `SendStream` because we don't use any associated types of `B`'s `Buf` impl in the type. Relaxing this bound allows us to...
@seanmonstar As described in the issue in hyper, I think the size of the slab should be limited to max_concurrent_streams + max_concurrent_reset_streams . When the size of the slab exceeds...
According to HTTP/2, the `CANCEL` code only indicates that the stream is no longer needed. `CANCEL (0x8): Used by the endpoint to indicate that the stream is no longer needed.`...
We are using `h2` in one of our rust services that are deployed on K8s and used in mesh with Istio. Since at the data-plane level Envoy is used, Envoy...
Looking at RFCs: 1. [RFC 7540: HTTP V2@section 8.1.2.3. Request Pseudo-Header Fields](https://datatracker.ietf.org/doc/html/rfc7540#section-8.1.2.3). > The ":authority" pseudo-header field includes the authority portion of the target URI ([[RFC3986], Section 3.2](https://datatracker.ietf.org/doc/html/rfc3986#section-3.2)). The authority...
It's quite confusing from production logs when all I get is "broken pipe" and I don't know which path was taken for that error to be logged.
This is already asserted a few lines later anyway when calling `self.flow.send_data(len)` in the "updating connection flow" span.
Support for `Expect: 100-continue` is mandated as MUST by https://datatracker.ietf.org/doc/html/rfc7231#section-5.1.1. Yet servers built on `h2` cannot currently support this requirement. One example of such usage, is [hyper #2743](https://github.com/hyperium/hyper/issues/2743). This approach...