Skip to main content

faucet_stream/auth/
basic.rs

1//! HTTP Basic authentication.
2
3use crate::error::FaucetError;
4use base64::Engine;
5use reqwest::header::{HeaderMap, HeaderValue};
6
7pub fn apply(headers: &mut HeaderMap, username: &str, password: &str) -> Result<(), FaucetError> {
8    let encoded =
9        base64::engine::general_purpose::STANDARD.encode(format!("{username}:{password}"));
10    let val = HeaderValue::from_str(&format!("Basic {encoded}"))
11        .map_err(|e| FaucetError::Auth(format!("invalid basic auth value: {e}")))?;
12    headers.insert("Authorization", val);
13    Ok(())
14}