use env_proxy::for_url_str;
use ureq::tls::{RootCerts, TlsConfig};
use ureq::{Agent, Proxy};
pub(crate) mod bench;
pub(crate) mod connect;
pub(crate) mod cross;
pub(crate) mod get;
pub(crate) mod info;
pub(crate) mod init;
pub(crate) mod install;
pub(crate) mod new;
pub(crate) mod package;
pub(crate) mod pgrx;
mod regress;
pub(crate) mod run;
pub(crate) mod schema;
pub(crate) mod start;
pub(crate) mod status;
pub(crate) mod stop;
pub(crate) mod sudo_install;
pub(crate) mod test;
pub(crate) mod upgrade;
pub(crate) mod version;
fn build_agent_for_url(url: &str) -> eyre::Result<Agent> {
let tls_config = TlsConfig::builder().root_certs(RootCerts::PlatformVerifier).build();
if let Some(proxy_url) = for_url_str(url).to_string() {
let config = Agent::config_builder()
.proxy(Some(Proxy::new(&proxy_url)?))
.tls_config(tls_config)
.build();
Ok(Agent::new_with_config(config))
} else {
let config = Agent::config_builder().tls_config(tls_config).build();
Ok(Agent::new_with_config(config))
}
}