#hyper #timeout #client #connector #connect

hyper-timeout

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

8 releases

0.4.1 Jan 2, 2021
0.4.0 Dec 24, 2020
0.3.1 Mar 7, 2020
0.3.0 Jan 13, 2020
0.1.1 Jul 24, 2017

#75 in Web programming

Download history 29541/week @ 2021-08-11 29598/week @ 2021-08-18 34782/week @ 2021-08-25 37226/week @ 2021-09-01 51124/week @ 2021-09-08 55177/week @ 2021-09-15 61180/week @ 2021-09-22 51960/week @ 2021-09-29 57286/week @ 2021-10-06 64494/week @ 2021-10-13 66834/week @ 2021-10-20 63000/week @ 2021-10-27 60953/week @ 2021-11-03 61560/week @ 2021-11-10 72543/week @ 2021-11-17 47958/week @ 2021-11-24

256,087 downloads per month
Used in 86 crates (9 directly)

MIT/Apache

14KB
266 lines

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.

Dependencies

~4.5MB
~78K SLoC