pub use ureq;
const DEFAULT_TIMEOUT_SECS: u64 = 120;
thread_local! {
static AGENT: ureq::Agent = build();
}
fn build() -> ureq::Agent {
let secs = std::env::var("QUARB_HTTP_TIMEOUT")
.ok()
.and_then(|s| s.trim().parse::<u64>().ok())
.filter(|&s| s > 0)
.unwrap_or(DEFAULT_TIMEOUT_SECS);
ureq::AgentBuilder::new()
.timeout_connect(std::time::Duration::from_secs(30))
.timeout_read(std::time::Duration::from_secs(secs))
.timeout_write(std::time::Duration::from_secs(secs))
.build()
}
pub fn agent() -> ureq::Agent {
AGENT.with(|a| a.clone())
}