Migrate to encodify

This commit is contained in:
Maurus Decimus
2026-09-28 10:45:15 +02:00
parent 42f7c87911
commit 5dc92c7329
29 changed files with 418 additions and 540 deletions
+9 -3
View File
@@ -9,8 +9,7 @@ use std::sync::OnceLock;
use std::sync::atomic::{AtomicU8, AtomicU64, Ordering};
use std::time::{Duration, Instant, SystemTime};
use base64::Engine;
use base64::engine::general_purpose::STANDARD;
use encodify::base64::STANDARD;
use serde_json::Value;
use ureq::Agent;
use ureq::config::{Config, RedirectAuthHeaders};
@@ -27,6 +26,8 @@ const MAX_BODY: u64 = 512 * 1024 * 1024;
const LONG_RETRY_THRESHOLD: Duration = Duration::from_secs(10);
const BASIC: &str = "Basic ";
#[derive(Debug, Clone)]
pub enum Auth {
Basic { user: String, password: String },
@@ -37,7 +38,12 @@ impl Auth {
pub fn header_value(&self) -> String {
match self {
Auth::Basic { user, password } => {
format!("Basic {}", STANDARD.encode(format!("{user}:{password}")))
let credentials = format!("{user}:{password}");
let mut header =
String::with_capacity(BASIC.len() + STANDARD.encoded_len(credentials.len()));
header.push_str(BASIC);
STANDARD.encode_append(credentials, &mut header);
header
}
Auth::Bearer { token } => format!("Bearer {token}"),
}