写明 TripoUrl 脱敏只覆盖 query 与 fragment

- server-rs/crates/platform-tripo/src/common/types.rs:redacted() 的文档注明脱敏范围只到 query / fragment,若 provider 改成把 token 写进路径(如 path-style SAS)则需一并处理路径段;无 query 分支补注释说明路径原样保留
This commit is contained in:
2026-09-24 18:00:30 +08:00
parent 925be4573d
commit 03aec35350
@@ -64,6 +64,10 @@ impl TripoUrl {
/// 日志与调试用脱敏形式:隐藏可能携带签名参数的 query 与 fragment,
/// 并保留原分隔符,不把 fragment 显示成 query。
///
/// 覆盖面只到 query / fragment 两段:S3 风格的预签名 URL 把凭据放在 query 里,这条
/// 规则够用;如果 provider 改成把 token 写进路径的方案(例如 path-style SAS),
/// 路径会原样保留,`Debug` 输出就会泄漏凭据 —— 那时要在这里连路径段一起处理。
pub fn redacted(&self) -> String {
let full = self.0.as_str();
match full.find(['?', '#']) {
@@ -71,6 +75,7 @@ impl TripoUrl {
let delimiter = &full[index..index + 1];
format!("{}{delimiter}<redacted>", &full[..index])
}
// 没有 query / fragment:路径按上面的说明原样保留。
None => full.to_owned(),
}
}