tree: 391ef08ea5bf37b1ac2515b3a847fff6d427e7e3 [path history] [tgz]
  1. examples/
  2. patches/
  3. src/
  4. .cargo-checksum.json
  5. Android.bp
  6. Cargo.lock
  7. Cargo.toml
  8. cargo_embargo.json
  9. LICENSE
  10. LICENSE-APACHE
  11. LICENSE-MIT
  12. METADATA
  13. MODULE_LICENSE_APACHE2
  14. README.md
crates/hyper-timeout/README.md

crates.io

hyper-timeout

A connect, read and write timeout aware connector to be used with hyper Client.

Problem

At the time this crate was created, hyper does not support timeouts. There is a way to do general timeouts, but no easy way to get connect, read and write specific timeouts.

Solution

There is a TimeoutConnector that implements the hyper::Connect trait. This connector wraps around HttpConnector or HttpsConnector values and provides timeouts.

Note: In hyper 0.11, a read or write timeout will return a broken pipe error because of the way tokio_proto::ClientProto works

Usage

Hyper version compatibility:

  • The master branch will track on going development for hyper.
  • The 0.4 release supports hyper 0.14.
  • The 0.3 release supports hyper 0.13.
  • The 0.2 release supports hyper 0.12.
  • The 0.1 release supports hyper 0.11.

Assuming you are using hyper 0.14, add this to your Cargo.toml:

[dependencies]
hyper-timeout = "0.4"

See the client example for a working example.

License

Licensed under either of

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.