use std::time::Duration;
use crate::utils::error::{Error, Result};
pub mod timeouts {
use super::Duration;
pub const QUICK_CHECK: Duration = Duration::from_secs(5);
pub const COMPILATION: Duration = Duration::from_secs(30);
pub const NETWORK: Duration = Duration::from_secs(30);
pub const FILE_IO: Duration = Duration::from_secs(10);
}
pub struct TimeoutIO;
impl TimeoutIO {
pub fn http_client(timeout: Duration) -> Result<reqwest::Client> {
reqwest::Client::builder()
.timeout(timeout)
.connect_timeout(Duration::from_secs(10))
.pool_max_idle_per_host(10)
.build()
.map_err(|e| Error::network_error(format!("Failed to create HTTP client: {}", e)))
}
}