h2 icon indicating copy to clipboard operation
h2 copied to clipboard

HTTP 2.0 client & server implementation for Rust.

Results 109 h2 issues
Sort by recently updated
recently updated
newest added

## 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...