Skip to main content

HttpHeaderSanitizer

Struct HttpHeaderSanitizer 

Source
pub struct HttpHeaderSanitizer { /* private fields */ }
Expand description

Sanitizes HTTP header values for logs and diagnostics.

Implementations§

Source§

impl HttpHeaderSanitizer

Source

pub const fn new(field_sanitizer: FieldSanitizer) -> Self

Creates an HTTP header sanitizer from a core field sanitizer.

§Parameters
  • field_sanitizer - Core sanitizer used for HTTP header values.
§Returns

New HTTP header sanitizer.

Source

pub const fn field_sanitizer(&self) -> &FieldSanitizer

Returns the underlying core field sanitizer.

§Returns

Borrowed core field sanitizer.

Source

pub fn field_sanitizer_mut(&mut self) -> &mut FieldSanitizer

Returns the underlying core field sanitizer mutably.

§Returns

Mutable core field sanitizer.

Source

pub fn sanitize_value( &self, name: &HeaderName, value: &HeaderValue, match_mode: NameMatchMode, ) -> String

Sanitizes one HTTP header value by header name.

Non-UTF-8 header values are rendered as <non-utf8> before applying sensitive-name masking.

§Parameters
  • name - HTTP header name.
  • value - HTTP header value.
  • match_mode - Field-name matching mode for the header name.
§Returns

Log-safe header value.

Source

pub fn sanitize_pair( &self, name: &HeaderName, value: &HeaderValue, match_mode: NameMatchMode, ) -> (String, String)

Sanitizes one HTTP header pair.

§Parameters
  • name - HTTP header name.
  • value - HTTP header value.
  • match_mode - Field-name matching mode for the header name.
§Returns

Owned string pair preserving the header name and sanitizing the value when needed.

Source

pub fn sanitize_headers( &self, headers: &HeaderMap, match_mode: NameMatchMode, ) -> BTreeMap<String, Vec<String>>

Sanitizes an HTTP header map.

Duplicate header values are grouped under the lowercase header name yielded by HeaderName::as_str. The returned map is sorted deterministically for debug output.

§Parameters
  • headers - HTTP header map to render safely.
  • match_mode - Field-name matching mode for header names.
§Returns

Log-safe header names and values.

Trait Implementations§

Source§

impl Clone for HttpHeaderSanitizer

Source§

fn clone(&self) -> HttpHeaderSanitizer

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for HttpHeaderSanitizer

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for HttpHeaderSanitizer

Source§

fn default() -> Self

Creates an HTTP header sanitizer using FieldSanitizer::default.

Source§

impl PartialEq for HttpHeaderSanitizer

Source§

fn eq(&self, other: &HttpHeaderSanitizer) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Eq for HttpHeaderSanitizer

Source§

impl StructuralPartialEq for HttpHeaderSanitizer

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.