aboutsummaryrefslogtreecommitdiff
path: root/weed/s3api/s3api_object_handlers_retention.go
diff options
context:
space:
mode:
authorchrislu <chris.lu@gmail.com>2025-07-18 15:33:44 -0700
committerchrislu <chris.lu@gmail.com>2025-07-18 15:33:44 -0700
commit4b92f03b654b97ee7317bd7fc5b195b65a735550 (patch)
treece9298438a98f01408f4ec9412977c8d3edebf0b /weed/s3api/s3api_object_handlers_retention.go
parent1e7a3c09d4a07883964cac7ae556a5f533b52afc (diff)
downloadseaweedfs-4b92f03b654b97ee7317bd7fc5b195b65a735550.tar.xz
seaweedfs-4b92f03b654b97ee7317bd7fc5b195b65a735550.zip
address test errors
Diffstat (limited to 'weed/s3api/s3api_object_handlers_retention.go')
-rw-r--r--weed/s3api/s3api_object_handlers_retention.go6
1 files changed, 6 insertions, 0 deletions
diff --git a/weed/s3api/s3api_object_handlers_retention.go b/weed/s3api/s3api_object_handlers_retention.go
index a419b469e..9a6e7be32 100644
--- a/weed/s3api/s3api_object_handlers_retention.go
+++ b/weed/s3api/s3api_object_handlers_retention.go
@@ -54,6 +54,7 @@ func (s3a *S3ApiServer) PutObjectRetentionHandler(w http.ResponseWriter, r *http
}
if errors.Is(err, ErrComplianceModeActive) || errors.Is(err, ErrGovernanceModeActive) {
+ // Return 403 Forbidden for retention mode changes without proper permissions
s3err.WriteErrorResponse(w, r, s3err.ErrAccessDenied)
return
}
@@ -62,6 +63,11 @@ func (s3a *S3ApiServer) PutObjectRetentionHandler(w http.ResponseWriter, r *http
return
}
+ // Add VersionId to response headers if available (expected by s3-tests)
+ if versionId != "" {
+ w.Header().Set("x-amz-version-id", versionId)
+ }
+
// Record metrics
stats_collect.RecordBucketActiveTime(bucket)