use std::time::Duration;
pub(crate) const DEFAULT_CONNECT_TIMEOUT: Duration = Duration::from_secs(10);
pub(crate) const DEFAULT_REQUEST_TIMEOUT: Duration = Duration::from_secs(30);
pub(crate) const USER_AGENT: &str = concat!("cameo/", env!("CARGO_PKG_VERSION"));
pub(crate) fn build_client(
connect_timeout: Option<Duration>,
request_timeout: Option<Duration>,
default_headers: reqwest::header::HeaderMap,
) -> reqwest::Result<reqwest::Client> {
reqwest::ClientBuilder::new()
.user_agent(USER_AGENT)
.connect_timeout(connect_timeout.unwrap_or(DEFAULT_CONNECT_TIMEOUT))
.timeout(request_timeout.unwrap_or(DEFAULT_REQUEST_TIMEOUT))
.default_headers(default_headers)
.build()
}