From 7203c78e4d3046a9a2006cf521a4921be07d193c Mon Sep 17 00:00:00 2001 From: chrislu Date: Fri, 18 Jul 2025 15:58:07 -0700 Subject: constants and fixes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ✅ Return InvalidRetentionPeriod for invalid retention values (0 days, negative years) ✅ Return ObjectLockConfigurationNotFoundError when object lock configuration doesn't exist ✅ Handle all object lock validation errors consistently with proper error codes --- weed/s3api/s3err/s3api_errors.go | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'weed/s3api/s3err/s3api_errors.go') diff --git a/weed/s3api/s3err/s3api_errors.go b/weed/s3api/s3err/s3api_errors.go index 12608ac21..613b27b95 100644 --- a/weed/s3api/s3err/s3api_errors.go +++ b/weed/s3api/s3err/s3api_errors.go @@ -114,6 +114,7 @@ const ( ErrNoSuchObjectLockConfiguration ErrNoSuchObjectLegalHold ErrInvalidRetentionPeriod + ErrObjectLockConfigurationNotFoundError ) // Error message constants for checksum validation @@ -459,6 +460,11 @@ var errorCodeResponse = map[ErrorCode]APIError{ Description: "The bucket ownership controls were not found", HTTPStatusCode: http.StatusNotFound, }, + ErrObjectLockConfigurationNotFoundError: { + Code: "ObjectLockConfigurationNotFoundError", + Description: "Object Lock configuration does not exist for this bucket", + HTTPStatusCode: http.StatusNotFound, + }, } // GetAPIError provides API Error for input API error code. -- cgit v1.2.3