use std::fmt::Display;
use clap::Args;
use serde::{Deserialize, Serialize};
#[derive(Args, Clone, Deserialize, Serialize, Default)]
#[serde(default)]
pub struct HeadersConfig {
#[clap(
long = "header",
short = 'H',
value_name = "NAME: VALUE",
env = "CLI_HEADER",
verbatim_doc_comment
)]
pub custom_headers: Vec<String>,
}
impl Display for HeadersConfig {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
if self.custom_headers.is_empty() {
write!(f, "No custom headers")
} else {
write!(f, "Custom headers: {:?}", self.custom_headers)
}
}
}
impl std::fmt::Debug for HeadersConfig {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
f.write_fmt(format_args!("{}", &self))
}
}