Add timeouts to HTTP client

This commit is contained in:
Antonio Scandurra 2023-02-15 14:52:13 +01:00
parent 2482a1a9ce
commit 5df50e2fc9

View file

@ -9,7 +9,7 @@ pub use isahc::{
Error, Error,
}; };
use smol::future::FutureExt; use smol::future::FutureExt;
use std::sync::Arc; use std::{sync::Arc, time::Duration};
pub use url::Url; pub use url::Url;
pub type Request = isahc::Request<AsyncBody>; pub type Request = isahc::Request<AsyncBody>;
@ -41,7 +41,13 @@ pub trait HttpClient: Send + Sync {
} }
pub fn client() -> Arc<dyn HttpClient> { pub fn client() -> Arc<dyn HttpClient> {
Arc::new(isahc::HttpClient::builder().build().unwrap()) Arc::new(
isahc::HttpClient::builder()
.connect_timeout(Duration::from_secs(5))
.low_speed_timeout(100, Duration::from_secs(5))
.build()
.unwrap(),
)
} }
impl HttpClient for isahc::HttpClient { impl HttpClient for isahc::HttpClient {