From 708a84f1d6276b747c68e2b939e049e267ce83a4 Mon Sep 17 00:00:00 2001 From: Niklas Mollenhauer Date: Tue, 8 Jul 2025 16:51:10 +0200 Subject: [PATCH] fix: return 204 on successful AbortMultipartUpload Docs state that 204 should be returned on success: https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html ```http HTTP/1.1 204 x-amz-request-charged: RequestCharged ``` --- src/api/s3/multipart.rs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/api/s3/multipart.rs b/src/api/s3/multipart.rs index bb00f066..6da49d37 100644 --- a/src/api/s3/multipart.rs +++ b/src/api/s3/multipart.rs @@ -5,6 +5,7 @@ use std::sync::Arc; use base64::prelude::*; use crc_fast::{CrcAlgorithm, Digest as CrcDigest}; use futures::prelude::*; +use http::StatusCode; use hyper::{header::HeaderValue, HeaderMap, Request, Response}; use md5::{Digest, Md5}; use sha1::Sha1; @@ -548,7 +549,9 @@ pub async fn handle_abort_multipart_upload( let final_object = Object::new(*bucket_id, key.to_string(), vec![object_version]); garage.object_table.insert(&final_object).await?; - Ok(Response::new(empty_body())) + Ok(Response::builder() + .status(StatusCode::NO_CONTENT) + .body(empty_body())?) } // ======== helpers ============