aboutsummaryrefslogtreecommitdiff
path: root/weed/s3api/s3api_object_handlers_put.go
diff options
context:
space:
mode:
Diffstat (limited to 'weed/s3api/s3api_object_handlers_put.go')
-rw-r--r--weed/s3api/s3api_object_handlers_put.go4
1 files changed, 4 insertions, 0 deletions
diff --git a/weed/s3api/s3api_object_handlers_put.go b/weed/s3api/s3api_object_handlers_put.go
index 99ad5d9ed..b534f9662 100644
--- a/weed/s3api/s3api_object_handlers_put.go
+++ b/weed/s3api/s3api_object_handlers_put.go
@@ -596,6 +596,10 @@ func mapValidationErrorToS3Error(err error) s3err.ErrorCode {
// For governance bypass on non-versioned bucket, return InvalidRequest
// This matches the test expectations
return s3err.ErrInvalidRequest
+ case errors.Is(err, ErrMalformedXML):
+ // For malformed XML in request body, return MalformedXML
+ // This matches the test expectations for invalid retention mode and legal hold status
+ return s3err.ErrMalformedXML
// Validation error constants
case errors.Is(err, ErrObjectLockConfigurationMissingEnabled):
return s3err.ErrMalformedXML