use secrecy::SecretString;
#[derive(Clone)]
pub enum Auth {
Token(SecretString),
Bearer(SecretString),
}
impl Auth {
pub fn token(token: impl Into<String>) -> Self {
Auth::Token(SecretString::from(token.into()))
}
pub fn bearer(token: impl Into<String>) -> Self {
Auth::Bearer(SecretString::from(token.into()))
}
}
impl std::fmt::Debug for Auth {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
match self {
Auth::Token(_) => f.write_str("Auth::Token(<redacted>)"),
Auth::Bearer(_) => f.write_str("Auth::Bearer(<redacted>)"),
}
}
}