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 qubit_sanitize::SensitiveFields;
12
13/// Policy used by [`LogSanitizer`](super::LogSanitizer) to mask sensitive log data.
14#[derive(Debug, Clone, PartialEq, Eq)]
15pub struct LogSanitizePolicy {
16    /// Sensitive HTTP header names.
17    pub sensitive_headers: SensitiveFields,
18    /// Sensitive URL query parameter names.
19    pub sensitive_query_params: SensitiveFields,
20    /// Sensitive JSON/form/multipart body field names.
21    pub sensitive_body_fields: SensitiveFields,
22}
23
24impl Default for LogSanitizePolicy {
25    /// Creates a policy with built-in sensitive header, query, and body names.
26    fn default() -> Self {
27        Self {
28            sensitive_headers: SensitiveFields::default(),
29            sensitive_query_params: SensitiveFields::default(),
30            sensitive_body_fields: SensitiveFields::default(),
31        }
32    }
33}