整理图片代理代码格式

按 Rust 格式化规范整理 multipart 与响应解析代码。
This commit is contained in:
2026-09-11 17:55:50 +08:00
parent da19bde99a
commit 3e85c71060
3 changed files with 15 additions and 23 deletions
+10 -17
View File
@@ -7,8 +7,8 @@ use bytes::Bytes;
use image::{GenericImageView, ImageFormat, ImageReader};
use platform_image::{
GPT_IMAGE_2_2K_LONG_EDGE_THRESHOLD, RAW_IMAGE_MAX_EDGE, RAW_IMAGE_MAX_PIXELS,
RawImageEditOptions, ReferenceImage,
create_vector_engine_raw_image_edit, validate_raw_image_edit_dimensions,
RawImageEditOptions, ReferenceImage, create_vector_engine_raw_image_edit,
validate_raw_image_edit_dimensions,
};
use serde::Serialize;
use serde_json::json;
@@ -166,14 +166,10 @@ async fn parse_multipart_request(
let mut width = None;
let mut height = None;
while let Some(field) = multipart
.next_field()
.await
.map_err(|error| {
tracing::warn!(error = %error, "raw image multipart 字段解析失败");
bad_request("multipart 请求无效")
})?
{
while let Some(field) = multipart.next_field().await.map_err(|error| {
tracing::warn!(error = %error, "raw image multipart 字段解析失败");
bad_request("multipart 请求无效")
})? {
let name = field
.name()
.ok_or_else(|| bad_request("multipart 字段缺少名称"))?
@@ -226,13 +222,10 @@ async fn read_multipart_image(
if !mime_type.eq_ignore_ascii_case("image/png") {
return Err(bad_request(format!("{name} 必须为 image/png")));
}
let bytes = field
.bytes()
.await
.map_err(|error| {
tracing::warn!(field = name, error = %error, "raw image multipart 图片读取失败");
bad_request(format!("{name} 字段读取失败"))
})?;
let bytes = field.bytes().await.map_err(|error| {
tracing::warn!(field = name, error = %error, "raw image multipart 图片读取失败");
bad_request(format!("{name} 字段读取失败"))
})?;
if bytes.is_empty() {
return Err(bad_request(format!("{name} 文件不能为空")));
}
@@ -21,8 +21,8 @@ pub use client::{
create_vector_engine_nanobanana_generate_content,
};
pub use constants::{
GPT_IMAGE_2_2K_LONG_EDGE_THRESHOLD, GPT_IMAGE_2_C_MODEL, GPT_IMAGE_2_MODEL,
NANOBANANA_2_MODEL, VECTOR_ENGINE_GPT_IMAGE_2_MODEL, VECTOR_ENGINE_PROVIDER,
GPT_IMAGE_2_2K_LONG_EDGE_THRESHOLD, GPT_IMAGE_2_C_MODEL, GPT_IMAGE_2_MODEL, NANOBANANA_2_MODEL,
VECTOR_ENGINE_GPT_IMAGE_2_MODEL, VECTOR_ENGINE_PROVIDER,
};
pub use error::{PlatformImageError, PlatformImageStatusHint};
pub use image_source::download_remote_image;
@@ -421,10 +421,9 @@ mod tests {
#[test]
fn raw_success_response_discards_empty_b64_json_entries() {
let payload: RawImageEditResponsePayload = serde_json::from_str(
r#"{"data":[{"b64_json":""},{"b64_json":"valid"}]}"#,
)
.expect("response envelope");
let payload: RawImageEditResponsePayload =
serde_json::from_str(r#"{"data":[{"b64_json":""},{"b64_json":"valid"}]}"#)
.expect("response envelope");
assert_eq!(collect_b64_images(payload.data), vec!["valid"]);
}