Add request timeout (#761)

Closes #754
This commit is contained in:
kodieg
2020-01-03 20:25:04 +01:00
committed by Sean McArthur
parent c0f717cf30
commit b159963f6c
3 changed files with 65 additions and 9 deletions

View File

@@ -4,7 +4,7 @@ use support::*;
use std::time::Duration;
#[tokio::test]
async fn request_timeout() {
async fn client_timeout() {
let _ = env_logger::try_init();
let server = server::http(move |_req| {
@@ -30,6 +30,34 @@ async fn request_timeout() {
assert_eq!(err.url().map(|u| u.as_str()), Some(url.as_str()));
}
#[tokio::test]
async fn request_timeout() {
let _ = env_logger::try_init();
let server = server::http(move |_req| {
async {
// delay returning the response
tokio::time::delay_for(Duration::from_secs(2)).await;
http::Response::default()
}
});
let client = reqwest::Client::builder().build().unwrap();
let url = format!("http://{}/slow", server.addr());
let res = client
.get(&url)
.timeout(Duration::from_millis(500))
.send()
.await;
let err = res.unwrap_err();
assert!(err.is_timeout());
assert_eq!(err.url().map(|u| u.as_str()), Some(url.as_str()));
}
#[tokio::test]
async fn response_timeout() {
let _ = env_logger::try_init();