From f7cccd8592eccd97e747972a965868fe0cb1df7d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=BE=B7=E5=AE=87?= Date: Wed, 9 Sep 2026 10:57:04 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A1=A5=E5=85=85=20Raw=20=E5=9B=BE=E7=89=87?= =?UTF-8?q?=E5=AE=A2=E6=88=B7=E7=AB=AF=E9=94=99=E8=AF=AF=E4=B8=8A=E4=B8=8B?= =?UTF-8?q?=E6=96=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 为 HTTP 客户端构造失败统一保留操作上下文 补充配置错误文案回归测试 --- .../platform-image/src/vector_engine/raw_edit.rs | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/server-rs/crates/platform-image/src/vector_engine/raw_edit.rs b/server-rs/crates/platform-image/src/vector_engine/raw_edit.rs index 05b88b156..a428752ce 100644 --- a/server-rs/crates/platform-image/src/vector_engine/raw_edit.rs +++ b/server-rs/crates/platform-image/src/vector_engine/raw_edit.rs @@ -152,7 +152,7 @@ pub async fn create_vector_engine_raw_image_edit( .timeout(Duration::from_millis(request_timeout_ms)) .http1_only() .build() - .map_err(|error| invalid_config(error.to_string()))?; + .map_err(|error| invalid_config(failure_context, error.to_string()))?; let response = client .post(url.as_str()) .bearer_auth(settings.api_key.as_str()) @@ -354,10 +354,10 @@ fn invalid_input(context: &str, message: String) -> PlatformImageError { } } -fn invalid_config(message: String) -> PlatformImageError { +fn invalid_config(context: &str, message: String) -> PlatformImageError { PlatformImageError::InvalidConfig { provider: VECTOR_ENGINE_PROVIDER, - message, + message: format!("{context}:构造请求客户端失败:{message}"), } } @@ -580,4 +580,14 @@ mod tests { assert_eq!(error.to_string(), "raw_image_edit:请求参数无效:尺寸无效"); } + + #[test] + fn invalid_config_error_keeps_operation_context() { + let error = invalid_config("raw_image_edit", "builder failed".to_string()); + + assert_eq!( + error.to_string(), + "raw_image_edit:构造请求客户端失败:builder failed" + ); + } }