diff --git a/server-rs/crates/platform-tripo/src/common/types.rs b/server-rs/crates/platform-tripo/src/common/types.rs index 00326cc7d..a2cc19745 100644 --- a/server-rs/crates/platform-tripo/src/common/types.rs +++ b/server-rs/crates/platform-tripo/src/common/types.rs @@ -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}", &full[..index]) } + // 没有 query / fragment:路径按上面的说明原样保留。 None => full.to_owned(), } }