aboutsummaryrefslogtreecommitdiff
path: root/weed/s3api/s3api_object_retention.go
diff options
context:
space:
mode:
Diffstat (limited to 'weed/s3api/s3api_object_retention.go')
-rw-r--r--weed/s3api/s3api_object_retention.go9
1 files changed, 5 insertions, 4 deletions
diff --git a/weed/s3api/s3api_object_retention.go b/weed/s3api/s3api_object_retention.go
index cffb12bca..f0adb28fd 100644
--- a/weed/s3api/s3api_object_retention.go
+++ b/weed/s3api/s3api_object_retention.go
@@ -33,6 +33,7 @@ var (
ErrGovernanceBypassNotPermitted = errors.New("user does not have permission to bypass governance retention")
ErrInvalidRetentionPeriod = errors.New("invalid retention period specified")
ErrInvalidRetentionMode = errors.New("invalid retention mode specified")
+ ErrBothDaysAndYearsSpecified = errors.New("both days and years cannot be specified in the same retention configuration")
)
const (
@@ -226,7 +227,7 @@ func validateDefaultRetention(retention *DefaultRetention) error {
}
if retention.Days > 0 && retention.Years > 0 {
- return ErrInvalidRetentionPeriod
+ return ErrBothDaysAndYearsSpecified
}
// Validate ranges
@@ -657,9 +658,9 @@ func (s3a *S3ApiServer) handleObjectLockAvailabilityCheck(w http.ResponseWriter,
if errors.Is(err, ErrBucketNotFound) {
s3err.WriteErrorResponse(w, request, s3err.ErrNoSuchBucket)
} else {
- // Return InvalidBucketState for object lock operations on buckets without object lock enabled
- // This matches AWS S3 behavior and s3-tests expectations
- s3err.WriteErrorResponse(w, request, s3err.ErrInvalidBucketState)
+ // Return InvalidRequest for object lock operations on buckets without object lock enabled
+ // This matches AWS S3 behavior and s3-tests expectations (400 Bad Request)
+ s3err.WriteErrorResponse(w, request, s3err.ErrInvalidRequest)
}
return false
}