use base64::{Engine, engine::general_purpose::STANDARD as BASE64};
pub fn create_bearer_header(access_token: &str) -> String {
format!("Bearer {}", access_token)
}
pub fn create_basic_header(app_key: &str, app_secret: &str) -> String {
let auth_string = format!("{}:{}", app_key, app_secret);
let auth_bytes = auth_string.as_bytes();
format!("Basic {}", BASE64.encode(auth_bytes))
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_create_bearer_header() {
let header = create_bearer_header("test_token");
assert_eq!(header, "Bearer test_token");
}
#[test]
fn test_create_bearer_header_with_special_chars() {
let header = create_bearer_header("token.with.dots");
assert_eq!(header, "Bearer token.with.dots");
}
#[test]
fn test_create_basic_header() {
let header = create_basic_header("user", "pass");
assert_eq!(header, "Basic dXNlcjpwYXNz");
}
#[test]
fn test_create_basic_header_with_special_chars() {
let header = create_basic_header("user@domain", "pass:word");
assert!(header.starts_with("Basic "));
assert!(header.len() > 6);
}
}