synapse_proxy/
http_client.rs1use std::time::Duration;
2
3pub fn build_http_client() -> reqwest::Result<reqwest::Client> {
12 let connect_secs = std::env::var("SYNAPSE_PROXY_UPSTREAM_CONNECT_TIMEOUT_SECS")
13 .ok()
14 .and_then(|s| s.parse().ok())
15 .unwrap_or(10);
16 let request_secs = std::env::var("SYNAPSE_PROXY_UPSTREAM_TIMEOUT_SECS")
17 .ok()
18 .and_then(|s| s.parse().ok())
19 .unwrap_or(120);
20
21 reqwest::Client::builder()
22 .connect_timeout(Duration::from_secs(connect_secs))
23 .timeout(Duration::from_secs(request_secs))
24 .build()
25}
26
27#[cfg(test)]
28mod tests {
29 use super::*;
30
31 #[test]
32 fn builds_client_with_defaults() {
33 build_http_client().expect("client");
34 }
35}