1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
use serde::{Deserialize, Serialize};
/// Http client config
#[derive(Clone, Debug, Default, Serialize, Deserialize)]
pub struct HttpClientConfig {
/// The timeout of request
pub timeout: u64,
}
/// Http client component
pub struct HttpClientComponent;
impl HttpClientComponent {
/// Get request client
pub fn component(config: HttpClientConfig) -> color_eyre::Result<reqwest::Client> {
Ok(reqwest::ClientBuilder::new()
.timeout(std::time::Duration::from_secs(config.timeout))
.build()?)
}
}