use std::fmt::{
self,
Debug,
Display,
Formatter,
};
use crate::LogSafeText;
#[must_use = "render or otherwise consume the redacted headers"]
#[derive(Clone, PartialEq, Eq)]
pub struct RedactedHeaders {
text: LogSafeText<'static>,
}
impl RedactedHeaders {
#[inline(always)]
pub(super) const fn new(text: LogSafeText<'static>) -> Self {
Self { text }
}
#[inline]
pub const fn log_safe_text(&self) -> &LogSafeText<'static> {
&self.text
}
#[inline]
pub fn into_log_safe_text(self) -> LogSafeText<'static> {
self.text
}
}
impl Display for RedactedHeaders {
#[inline]
fn fmt(&self, formatter: &mut Formatter<'_>) -> fmt::Result {
Display::fmt(&self.text, formatter)
}
}
impl Debug for RedactedHeaders {
#[inline]
fn fmt(&self, formatter: &mut Formatter<'_>) -> fmt::Result {
formatter
.debug_tuple("RedactedHeaders")
.field(&self.text)
.finish()
}
}