Sean McArthur 6530a00a8e fix(http1): reduce closed connections when body is dropped
If a user makes use of `Body::is_end_stream` to optimize so as to not
need to do make a final poll just to receive `None`, previously the
connection would not have progressed its reading state to a finished
body, and so the connection would be closed.

Now, upon reading any chunk, the connection state will check if it
can know that the body would be finished, and progresses to a body
finished state sooner.

The integration tests were amplified by adding a naive hyper proxy
as a secondary test, which happens to make use of that optimization,
and thus caught the issue.
2018-07-23 09:39:19 -07:00
2014-08-30 14:18:28 -07:00
2018-07-11 17:20:20 -07:00
2018-07-11 17:20:20 -07:00
2014-08-30 14:18:28 -07:00

hyper

Travis Build Status Appveyor Build status Coverage Status MIT licensed crates.io Released API docs Master API docs

A fast and correct HTTP implementation for Rust.

Get started by looking over the guides.

Overview

hyper is a fast, safe HTTP implementation written in and for Rust.

hyper offers both an HTTP client and server which can be used to drive complex web applications written entirely in Rust.

hyper makes use of "async IO" (non-blocking sockets) via the Tokio and Futures crates.

Be aware that hyper is still actively evolving towards 1.0, and is likely to experience breaking changes before stabilising. However, this mostly now around the instability of Future and async. The rest of the API is rather stable now. You can also see the issues in the upcoming milestones.

Contributing

To get involved, take a look at CONTRIBUTING.

There are two main avenues for real-time chatting about hyper: a Gitter room and irc.mozilla.org/hyper. They are mirrored, so choose whichever format you prefer.

License

hyper is provided under the MIT license. See LICENSE.

Description
No description provided
Readme MIT 6.5 MiB
Languages
Rust 94.5%
C 5.2%
Shell 0.3%