h2 icon indicating copy to clipboard operation
h2 copied to clipboard

HTTP 2.0 client & server implementation for Rust.

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

When a stream is reset before calling [`send_response`](https://docs.rs/h2/0.3.9/h2/server/struct.SendResponse.html#method.send_response), the error returned is a `Error::User`. That variant doesn't contain any data telling what caused the issue. I propose adding some form...

This makes it easier to detect an IO error at the bottom of an error cause chain (e.g. behind a `hyper::Error`). Also, don't implement `std::error::Error` for the private error types,...

If we move the codec stuff (wire format, frames, decoding…) to a separate crate, we don't need to expose an `unstable` feature and the tests won't need to reach into...

On v0.3.7. I saw this panic in our service. Unfortunately I was not able to capture the input that caused this. It seems it is related to the soundness of...

https://github.com/hyperium/hyper/issues/2503 This problem is happening again in our environment. The captured packets show that H2 header information has been quickly returned. The browser is waiting for the body to be...

The [iana h2 error code descriptions](https://www.iana.org/assignments/http2-parameters/http2-parameters.xhtml#error-code) seem to be more comprehensive and shorter.

When handling incoming h2 errors, typically we pay attention to 3 types of them: IO, GOAWAY and RST_STREAM. This change adds the other 2 besides is_io() so that the error...

"broken pipe" is not very useful when debugging, especially when other parts of the system could also be returning "broken pipe".

I received an error that reads like this: ``` error: failed to convert response body to bytes (in application) caused by: error reading a body from connection: protocol error: unexpected...

[RFC 8441](https://tools.ietf.org/html/rfc8441) 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.

enhancement