aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorchrislu <chris.lu@gmail.com>2025-07-18 02:02:54 -0700
committerchrislu <chris.lu@gmail.com>2025-07-18 02:02:54 -0700
commiteeeb595346ceadddd28c60500d64fa467bd266a2 (patch)
tree946ab2ae96fb2034976eb749866684ce3cf0e236
parent678f962ded38b2169ea8c3c872fbdb6a96959732 (diff)
downloadseaweedfs-eeeb595346ceadddd28c60500d64fa467bd266a2.tar.xz
seaweedfs-eeeb595346ceadddd28c60500d64fa467bd266a2.zip
change error style
-rw-r--r--weed/s3api/object_lock_utils.go6
-rw-r--r--weed/s3api/s3api_object_handlers_put.go6
2 files changed, 9 insertions, 3 deletions
diff --git a/weed/s3api/object_lock_utils.go b/weed/s3api/object_lock_utils.go
index 8ffadcecb..ffde5bd36 100644
--- a/weed/s3api/object_lock_utils.go
+++ b/weed/s3api/object_lock_utils.go
@@ -217,15 +217,15 @@ func ValidateObjectLockParameters(enabled bool, mode string, duration int32) err
}
if mode != s3_constants.RetentionModeGovernance && mode != s3_constants.RetentionModeCompliance {
- return createS3Error("InvalidObjectLockMode", fmt.Sprintf("Invalid object lock mode: %s. Must be %s or %s.", mode, s3_constants.RetentionModeGovernance, s3_constants.RetentionModeCompliance))
+ return ErrInvalidObjectLockMode
}
if duration <= 0 {
- return createS3Error("InvalidObjectLockDuration", fmt.Sprintf("Object lock duration must be greater than 0 days. Got: %d.", duration))
+ return ErrInvalidObjectLockDuration
}
if duration > MaxRetentionDays {
- return createS3Error("ObjectLockDurationExceeded", fmt.Sprintf("Object lock duration exceeds maximum allowed days: %d. Got: %d.", MaxRetentionDays, duration))
+ return ErrObjectLockDurationExceeded
}
return nil
diff --git a/weed/s3api/s3api_object_handlers_put.go b/weed/s3api/s3api_object_handlers_put.go
index 7eaf32013..655bd405c 100644
--- a/weed/s3api/s3api_object_handlers_put.go
+++ b/weed/s3api/s3api_object_handlers_put.go
@@ -31,6 +31,8 @@ var (
ErrObjectLockModeRequiresDate = errors.New("object lock mode requires retention until date")
ErrRetentionDateRequiresMode = errors.New("retention until date requires object lock mode")
ErrGovernanceBypassVersioningRequired = errors.New("governance bypass header can only be used on versioned buckets")
+ ErrInvalidObjectLockDuration = errors.New("object lock duration must be greater than 0 days")
+ ErrObjectLockDurationExceeded = errors.New("object lock duration exceeds maximum allowed days")
)
func (s3a *S3ApiServer) PutObjectHandler(w http.ResponseWriter, r *http.Request) {
@@ -566,6 +568,10 @@ func mapValidationErrorToS3Error(err error) s3err.ErrorCode {
return s3err.ErrInvalidRequest
case errors.Is(err, ErrGovernanceBypassVersioningRequired):
return s3err.ErrInvalidRequest
+ case errors.Is(err, ErrInvalidObjectLockDuration):
+ return s3err.ErrInvalidRequest
+ case errors.Is(err, ErrObjectLockDurationExceeded):
+ return s3err.ErrInvalidRequest
default:
return s3err.ErrInvalidRequest
}