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}