use ureq::tls::{TlsConfig, TlsProvider}; use ureq::Agent; pub struct Fetcher { pub agent: Agent, /// FROM header for requests pub from: String, } impl Fetcher { pub fn new(bot_name: &str, from: &str) -> Fetcher { let ua_name = format!( "{bot_name}/{} {} software: {}", env!("CARGO_PKG_VERSION"), env!("CARGO_PKG_HOMEPAGE"), env!("CARGO_PKG_NAME") ); info!("useragent: {ua_name}"); let agent = Agent::config_builder() .http_status_as_error(false) .user_agent(ua_name) .tls_config( TlsConfig::builder() .provider(TlsProvider::NativeTls) .build(), ) .build() .into(); Fetcher { agent, from: from.to_string(), } } }