use base64::{engine::general_purpose::STANDARD, Engine};
use serde_derive::{Deserialize, Serialize};
use std::collections::HashMap;
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
#[allow(missing_docs)]
pub struct DockerCredentials {
pub username: Option<String>,
pub password: Option<String>,
pub auth: Option<String>,
pub email: Option<String>,
pub serveraddress: Option<String>,
pub identitytoken: Option<String>,
pub registrytoken: Option<String>,
}
pub(crate) enum DockerCredentialsHeader {
Auth(Option<DockerCredentials>),
Config(Option<HashMap<String, DockerCredentials>>),
}
pub(crate) fn base64_url_encode(payload: &str) -> String {
STANDARD.encode(payload)
}