遵守 Raw 图片请求截止时间
发送前裁剪有效超时预算 预算耗尽时提前返回结构化错误
This commit is contained in:
@@ -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()))?;
|
||||
|
||||
Reference in New Issue
Block a user