遵守 Raw 图片请求截止时间

发送前裁剪有效超时预算
预算耗尽时提前返回结构化错误
This commit is contained in:
2026-09-08 21:54:22 +08:00
parent 55d2a393d1
commit ad7c059603
@@ -6,6 +6,7 @@ use serde_json::Value;
use super::{
audit::build_failure_audit,
budget::{effective_request_timeout_ms, request_budget_exhausted_error},
constants::{GPT_IMAGE_2_MODEL, VECTOR_ENGINE_PROVIDER},
error::PlatformImageError,
request::vector_engine_images_edit_url,
@@ -132,8 +133,20 @@ pub async fn create_vector_engine_raw_image_edit(
);
}
let Some(request_timeout_ms) =
effective_request_timeout_ms(settings.request_timeout_ms, settings.request_deadline)
else {
return Err(request_budget_exhausted_error(
url.as_str(),
failure_context,
Some(GPT_IMAGE_2_MODEL),
Some(started_at.elapsed().as_millis() as u64),
prompt_chars,
reference_image_count,
));
};
let client = reqwest::Client::builder()
.timeout(Duration::from_millis(settings.request_timeout_ms.max(1)))
.timeout(Duration::from_millis(request_timeout_ms))
.http1_only()
.build()
.map_err(|error| invalid_config(error.to_string()))?;