脱敏地址保留原始分隔符

- redacted 原先无条件用 ? 拼接脱敏标记,只有 fragment 的地址会被显示成带 query 的样子
- 改为按命中的分隔符原样拼接,日志里能区分 query 与 fragment
This commit is contained in:
2026-09-21 15:14:51 +08:00
parent 0f8ac57593
commit e9af6c0741
@@ -58,11 +58,15 @@ impl TripoUrl {
self.0.as_str()
}
/// 日志与调试用脱敏形式:隐藏可能携带签名参数的 query 与 fragment
/// 日志与调试用脱敏形式:隐藏可能携带签名参数的 query 与 fragment
/// 并保留原分隔符,不把 fragment 显示成 query。
pub fn redacted(&self) -> String {
let full = self.0.as_str();
match full.find(['?', '#']) {
Some(index) => format!("{}?<redacted>", &full[..index]),
Some(index) => {
let delimiter = &full[index..index + 1];
format!("{}{delimiter}<redacted>", &full[..index])
}
None => full.to_owned(),
}
}