use anyhow::{Context, Result};
use reqwest::header::{AUTHORIZATION, HeaderMap, HeaderValue};
const ENV_TOKEN: &str = "KANADE_AUTH_TOKEN";
pub fn authed_client() -> Result<reqwest::Client> {
let mut builder = reqwest::Client::builder();
if let Ok(token) = std::env::var(ENV_TOKEN)
&& !token.is_empty()
{
let value = HeaderValue::from_str(&format!("Bearer {token}"))
.context("KANADE_AUTH_TOKEN contains non-ASCII / control characters")?;
let mut headers = HeaderMap::new();
headers.insert(AUTHORIZATION, value);
builder = builder.default_headers(headers);
}
builder.build().context("build reqwest::Client")
}