#hyper #timeout #client

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

#35 in Web programming

Download history 266638/week @ 2023-02-02 278899/week @ 2023-02-09 263129/week @ 2023-02-16 287364/week @ 2023-02-23 272429/week @ 2023-03-02 304055/week @ 2023-03-09 307929/week @ 2023-03-16 311760/week @ 2023-03-23 295026/week @ 2023-03-30 263643/week @ 2023-04-06 305987/week @ 2023-04-13 313843/week @ 2023-04-20 293915/week @ 2023-04-27 317491/week @ 2023-05-04 322674/week @ 2023-05-11 308776/week @ 2023-05-18

1,307,879 downloads per month
Used in 159 crates (19 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–9MB
~137K SLoC