1use base64::{engine::general_purpose::STANDARD, Engine};
4use serde_derive::{Deserialize, Serialize};
5use std::collections::HashMap;
6
7#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
8#[allow(missing_docs)]
9pub struct DockerCredentials {
13 pub username: Option<String>,
14 pub password: Option<String>,
15 pub auth: Option<String>,
16 pub email: Option<String>,
17 pub serveraddress: Option<String>,
18 pub identitytoken: Option<String>,
19 pub registrytoken: Option<String>,
20}
21
22pub(crate) enum DockerCredentialsHeader {
23 Auth(Option<DockerCredentials>),
25 Config(Option<HashMap<String, DockerCredentials>>),
27}
28
29pub(crate) fn base64_url_encode(payload: &str) -> String {
30 STANDARD.encode(payload)
31}