34 lines
882 B
Rust
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(),
|
|
}
|
|
}
|
|
}
|