use std::time::Duration;
use reqwest::Client;
#[derive(Debug, Clone)]
pub struct ClientConfig {
pub timeout: Duration,
pub connect_timeout: Duration,
}
impl Default for ClientConfig {
fn default() -> Self {
Self {
timeout: Duration::from_secs(120),
connect_timeout: Duration::from_secs(10),
}
}
}
pub fn build_client(cfg: &ClientConfig) -> Result<Client, reqwest::Error> {
Client::builder()
.read_timeout(cfg.timeout)
.connect_timeout(cfg.connect_timeout)
.redirect(reqwest::redirect::Policy::none())
.use_rustls_tls()
.gzip(true)
.build()
}