Skip to main content

qubit_http/sanitize/
log_sanitize_policy.rs

1/*******************************************************************************
2 *
3 *    Copyright (c) 2025 - 2026 Haixing Hu.
4 *
5 *    SPDX-License-Identifier: Apache-2.0
6 *
7 *    Licensed under the Apache License, Version 2.0.
8 *
9 ******************************************************************************/
10
11use super::{
12    SensitiveBodyFields,
13    SensitiveHttpHeaders,
14    SensitiveQueryParams,
15};
16
17/// Policy used by [`LogSanitizer`](super::LogSanitizer) to mask sensitive log data.
18#[derive(Debug, Clone, PartialEq, Eq)]
19pub struct LogSanitizePolicy {
20    /// Sensitive HTTP header names.
21    pub sensitive_headers: SensitiveHttpHeaders,
22    /// Sensitive URL query parameter names.
23    pub sensitive_query_params: SensitiveQueryParams,
24    /// Sensitive JSON/form/multipart body field names.
25    pub sensitive_body_fields: SensitiveBodyFields,
26}
27
28impl Default for LogSanitizePolicy {
29    /// Creates a policy with built-in sensitive header, query, and body names.
30    fn default() -> Self {
31        Self {
32            sensitive_headers: SensitiveHttpHeaders::default(),
33            sensitive_query_params: SensitiveQueryParams::default(),
34            sensitive_body_fields: SensitiveBodyFields::default(),
35        }
36    }
37}