aboutsummaryrefslogtreecommitdiff
path: root/weed/s3api/s3_constants/header.go
diff options
context:
space:
mode:
authorChris Lu <chrislusf@users.noreply.github.com>2025-07-16 23:00:25 -0700
committerGitHub <noreply@github.com>2025-07-16 23:00:25 -0700
commita524b4f485ce5aa2f234c742bd7d1e75386f569b (patch)
tree794b343485e4adace63dc091703d2368f9075616 /weed/s3api/s3_constants/header.go
parent89706d36dccc5d851ef6b818f0dd32249e6560a3 (diff)
downloadseaweedfs-a524b4f485ce5aa2f234c742bd7d1e75386f569b.tar.xz
seaweedfs-a524b4f485ce5aa2f234c742bd7d1e75386f569b.zip
Object locking need to persist the tags and set the headers (#6994)
* fix object locking read and write No logic to include object lock metadata in HEAD/GET response headers No logic to extract object lock metadata from PUT request headers * add tests for object locking * Update weed/s3api/s3api_object_handlers_put.go Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update weed/s3api/s3api_object_handlers.go Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * refactor * add unit tests * sync versions * Update s3_worm_integration_test.go * fix legal hold values * lint * fix tests * racing condition when enable versioning * fix tests * validate put object lock header * allow check lock permissions for PUT * default to OFF legal hold * only set object lock headers for objects that are actually from object lock-enabled buckets fix --- FAIL: TestAddObjectLockHeadersToResponse/Handle_entry_with_no_object_lock_metadata (0.00s) * address comments * fix tests * purge * fix * refactoring * address comment * address comment * Update weed/s3api/s3api_object_handlers_put.go Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update weed/s3api/s3api_object_handlers_put.go Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update weed/s3api/s3api_object_handlers.go Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * avoid nil * ensure locked objects cannot be overwritten --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Diffstat (limited to 'weed/s3api/s3_constants/header.go')
-rw-r--r--weed/s3api/s3_constants/header.go5
1 files changed, 4 insertions, 1 deletions
diff --git a/weed/s3api/s3_constants/header.go b/weed/s3api/s3_constants/header.go
index e0db5ef9a..52bcda548 100644
--- a/weed/s3api/s3_constants/header.go
+++ b/weed/s3api/s3_constants/header.go
@@ -52,7 +52,10 @@ const (
AmzAclWriteAcp = "X-Amz-Grant-Write-Acp"
// S3 Object Lock headers
- AmzBucketObjectLockEnabled = "X-Amz-Bucket-Object-Lock-Enabled"
+ AmzBucketObjectLockEnabled = "X-Amz-Bucket-Object-Lock-Enabled"
+ AmzObjectLockMode = "X-Amz-Object-Lock-Mode"
+ AmzObjectLockRetainUntilDate = "X-Amz-Object-Lock-Retain-Until-Date"
+ AmzObjectLockLegalHold = "X-Amz-Object-Lock-Legal-Hold"
// S3 conditional copy headers
AmzCopySourceIfMatch = "X-Amz-Copy-Source-If-Match"