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}