From bf774ceeec28a7b1885455dabfe29f17897b3cb2 Mon Sep 17 00:00:00 2001 From: Chris Lu Date: Tue, 17 Mar 2026 17:26:48 -0700 Subject: [PATCH] Include name and size in UploadResult JSON even when empty/zero Go's encoding/json always includes empty strings and zero values in the upload response. The Rust version was using skip_serializing_if to omit them, causing JSON structure differences. --- seaweed-volume/src/server/handlers.rs | 5 ----- 1 file changed, 5 deletions(-) diff --git a/seaweed-volume/src/server/handlers.rs b/seaweed-volume/src/server/handlers.rs index 81121b2c7..9d24cb36c 100644 --- a/seaweed-volume/src/server/handlers.rs +++ b/seaweed-volume/src/server/handlers.rs @@ -1794,9 +1794,7 @@ fn encode_image(img: &image::DynamicImage, ext: &str) -> Option> { #[derive(Serialize)] struct UploadResult { - #[serde(skip_serializing_if = "String::is_empty")] name: String, - #[serde(skip_serializing_if = "is_zero_u32")] size: u32, #[serde(rename = "eTag", skip_serializing_if = "String::is_empty")] etag: String, @@ -1806,9 +1804,6 @@ struct UploadResult { content_md5: Option, } -fn is_zero_u32(v: &u32) -> bool { - *v == 0 -} pub async fn post_handler( State(state): State>,