aboutsummaryrefslogtreecommitdiff
path: root/weed/s3api/s3err
AgeCommit message (Collapse)AuthorFilesLines
2025-07-18constants and fixeschrislu1-0/+6
✅ 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
2025-07-18fixeschrislu1-0/+6
With these comprehensive fixes, the s3-tests should now: ✅ Return InvalidBucketState (409 Conflict) for object lock operations on invalid buckets ✅ Return InvalidRetentionPeriod for invalid retention periods ✅ Return MalformedXML for malformed retention configurations ✅ Include VersionId in response headers when available ✅ Return proper HTTP status codes for all error conditions ✅ Handle all object lock validation errors consistently The workflow should now pass significantly more object lock tests, bringing SeaweedFS's S3 object lock implementation much closer to AWS S3 compatibility standards.
2025-07-18address test errorschrislu1-0/+6
With these fixes, the s3-tests should now: ✅ Return InvalidBucketState (409 Conflict) for object lock operations on invalid buckets ✅ Return MalformedXML for invalid retention configurations ✅ Include VersionId in response headers when available ✅ Return proper HTTP status codes (403 Forbidden for retention mode changes) ✅ Handle all object lock validation errors consistently
2025-07-15adding cors support (#6987)Chris Lu1-6/+22
* adding cors support * address some comments * optimize matchesWildcard * address comments * fix for tests * address comments * address comments * address comments * path building * refactor * Update weed/s3api/s3api_bucket_config.go Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * address comment Service-level responses need both Access-Control-Allow-Methods and Access-Control-Allow-Headers. After setting Access-Control-Allow-Origin and Access-Control-Expose-Headers, also set Access-Control-Allow-Methods: * and Access-Control-Allow-Headers: * so service endpoints satisfy CORS preflight requirements. * Update weed/s3api/s3api_bucket_config.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> * Update weed/s3api/s3api_object_handlers.go Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * fix * refactor * Update weed/s3api/s3api_bucket_config.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> * Update weed/s3api/s3api_server.go Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * simplify * add cors tests * fix tests * fix tests --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-07-12implement PubObjectRetention and WORM (#6969)Chris Lu1-0/+12
* implement PubObjectRetention and WORM * Update s3_worm_integration_test.go * avoid previous buckets * Update s3-versioning-tests.yml * address comments * address comments * rename to ExtObjectLockModeKey * only checkObjectLockPermissions if versioningEnabled * address comments * comments * Revert "comments" This reverts commit 6736434176f86c6e222b867777324b17c2de716f. * Update s3api_object_handlers_skip.go * Update s3api_object_retention_test.go * add version id to ObjectIdentifier * address comments * add comments * Add proper error logging for timestamp parsing failures * address comments * add version id to the error * Update weed/s3api/s3api_object_retention_test.go Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update weed/s3api/s3api_object_retention.go Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * constants * fix comments * address comments * address comment * refactor out handleObjectLockAvailabilityCheck * errors.Is ErrBucketNotFound * better error checking * address comments --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-07-06fix: s3 return BadDigest (#6714)Konstantin Lebedev1-0/+7
* fix: s3 return BadDigest * adjust error message checking --------- Co-authored-by: chrislu <chris.lu@gmail.com>
2025-03-18fix: restore deletion audit of individual objects (#6644)SmoothDenis1-3/+4
2024-10-04[s3] add {Get,Put,Delete}BucketTagging and PublicAccessBlock Handlers (#6088)Konstantin Lebedev1-0/+6
* add {Get,Put,Delete}BucketTagging Handlers * s3 add skip bucket PublicAccessBlock handlers --------- Co-authored-by: Chris Lu <chrislusf@users.noreply.github.com>
2024-09-17refactorchrislu1-2/+1
2024-08-09added access-control-expose-headers to put request (#5876)Kamran Sarwar1-0/+1
2022-10-01add ownership rest apis (#3765)LHHDZ2-0/+19
2022-07-29move to https://github.com/seaweedfs/seaweedfschrislu2-3/+3
2022-06-15add s3 circuit breaker support for 'simultaneous request count' and ↵石昌林1-0/+13
'simultaneous request bytes' limitations configure s3 circuit breaker by 'command_s3_circuitbreaker.go': usage eg: # Configure the number of simultaneous global (current s3api node) requests s3.circuit.breaker -global -type count -actions Write -values 1000 -apply # Configure the number of simultaneous requests for bucket x read and write s3.circuit.breaker -buckets -type count -actions Read,Write -values 1000 -apply # Configure the total bytes of simultaneous requests for bucket write s3.circuit.breaker -buckets -type bytes -actions Write -values 100MiB -apply # Disable circuit breaker config of bucket 'x' s3.circuit.breaker -buckets x -enable false -apply # Delete circuit breaker config of bucket 'x' s3.circuit.breaker -buckets x -delete -apply
2022-06-08fix s3 tests:Konstantin Lebedev1-0/+6
ranged_request_invalid_range ranged_request_empty_object
2022-05-30move s3 related constants from package http to s3_constantschrislu1-4/+4
2022-03-30fix DescriptionKonstantin Lebedev1-1/+1
2022-03-29fix test_s3.test_multi_object_delete_key_limit andKonstantin Lebedev1-0/+6
test_multi_objectv2_delete_key_limit
2022-02-04add s3api error for copy in file, not directoryLapshinn Vitaly1-0/+6
2022-02-03weed/s3api: added new bucket handlers for more compatibility with AWS S3zerospiel2-0/+13
Protocol Otherwise any requests to the underlying handlers results in calls to ListObjects (v1) that may intensively load gateway and volume servers. Added the following handlers with default responses: - GetBucketLocation - GetBucketRequestPayment Added the following handlers with NotFound and NotImplemented responses: - PutBucketAcl - GetBucketPolicy - PutBucketPolicy - DeleteBucketPolicy - GetBucketCors - PutBucketCors - DeleteBucketCors
2021-12-13force enable asynchronous I/O sending events to FluentdKonstantin Lebedev1-5/+9
2021-12-10audit log SignatureVersionkmlebedev1-17/+18
2021-12-09non blocking audit logKonstantin Lebedev1-17/+25
2021-12-07audit log configKonstantin Lebedev2-51/+88
2021-12-07audit logKonstantin Lebedev2-43/+43
2021-12-07audit logKonstantin Lebedev1-0/+135
2021-10-31S3: support CORSChris Lu1-0/+4
related to https://github.com/chrislusf/seaweedfs/issues/1271
2021-10-31refactoringChris Lu1-2/+2
2021-10-31refactoringChris Lu1-8/+8
2021-10-20fix object tagging https://github.com/chrislusf/seaweedfs/issues/2389Konstantin Lebedev1-1/+1
2021-10-11AclHandlersKonstantin Lebedev1-0/+6
2021-06-10avoid possible empty objectChris Lu1-3/+3
2021-06-10adjust the error outputChris Lu2-11/+24
fix https://github.com/chrislusf/seaweedfs/issues/2123
2021-06-10refactorChris Lu1-0/+81
2021-05-24s3 test get w/ If-Match: bogus ETagKonstantin Lebedev1-1/+7
2021-05-21s3: add errors if requests are signed by no authentication is setupChris Lu1-0/+6
fix https://github.com/chrislusf/seaweedfs/issues/2075
2021-05-12Adjust error message when bucket name conflicts with existing collectionsChris Lu1-1/+1
fix https://github.com/chrislusf/seaweedfs/issues/2069
2020-10-20s3: report error to s3 when updating an object but it is already a directoryChris Lu1-0/+7
fix https://github.com/chrislusf/seaweedfs/issues/1545
2020-10-02s3: support object taggingChris Lu1-0/+6
* GetObjectTagging * PutObjectTagging * DeleteObjectTagging
2020-09-19s3: add support for PostPolicyChris Lu2-2/+107
fix https://github.com/chrislusf/seaweedfs/issues/1426
2020-09-19refactoringChris Lu1-0/+302