planet-mars/src/fetcher.rs

34 lines
882 B
Rust
Raw Normal View History

2025-01-10 11:39:54 +02:00
use ureq::tls::{TlsConfig, TlsProvider};
use ureq::Agent;
pub struct Fetcher {
2025-04-14 22:33:42 +02:00
pub agent: Agent,
2025-01-10 11:39:54 +02:00
/// FROM header for requests
2025-04-14 22:33:42 +02:00
pub from: String,
2025-01-10 11:39:54 +02:00
}
impl Fetcher {
pub fn new(bot_name: &str, from: &str) -> Fetcher {
2025-01-12 10:39:53 +02:00
let ua_name = format!(
"{bot_name}/{} {} software: {}",
2025-01-12 10:39:53 +02:00
env!("CARGO_PKG_VERSION"),
env!("CARGO_PKG_HOMEPAGE"),
env!("CARGO_PKG_NAME")
);
info!("useragent: {ua_name}");
2025-01-10 11:39:54 +02:00
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(),
}
}
}