planet-mars/src/fetcher.rs

34 lines
882 B
Rust

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(),
}
}
}