[#328] Log invalid lock enabled header

Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
pull/330/head
Denis Kirillov 2024-03-04 15:09:51 +03:00
parent ee48d1dc85
commit 4ee3648183
2 changed files with 12 additions and 3 deletions

View File

@ -813,7 +813,7 @@ func (h *handler) parseCommonCreateBucketParams(reqInfo *middleware.ReqInfo, box
return nil, nil, fmt.Errorf("couldn't set placement policy: %w", err) return nil, nil, fmt.Errorf("couldn't set placement policy: %w", err)
} }
p.ObjectLockEnabled = isLockEnabled(r.Header) p.ObjectLockEnabled = isLockEnabled(h.reqLogger(r.Context()), r.Header)
return key, p, nil return key, p, nil
} }
@ -1096,9 +1096,17 @@ func (h handler) setPlacementPolicy(prm *layer.CreateBucketParams, namespace, lo
return errors.GetAPIError(errors.ErrInvalidLocationConstraint) return errors.GetAPIError(errors.ErrInvalidLocationConstraint)
} }
func isLockEnabled(header http.Header) bool { func isLockEnabled(log *zap.Logger, header http.Header) bool {
lockEnabledStr := header.Get(api.AmzBucketObjectLockEnabled) lockEnabledStr := header.Get(api.AmzBucketObjectLockEnabled)
lockEnabled, _ := strconv.ParseBool(lockEnabledStr) if len(lockEnabledStr) == 0 {
return false
}
lockEnabled, err := strconv.ParseBool(lockEnabledStr)
if err != nil {
log.Warn(logs.InvalidBucketObjectLockEnabledHeader, zap.String("header", lockEnabledStr), zap.Error(err))
}
return lockEnabled return lockEnabled
} }

View File

@ -147,4 +147,5 @@ const (
SuccessfulAuth = "successful auth" SuccessfulAuth = "successful auth"
PolicyRequest = "policy request" PolicyRequest = "policy request"
FailedToGenerateRequestID = "failed to generate request id" FailedToGenerateRequestID = "failed to generate request id"
InvalidBucketObjectLockEnabledHeader = "invalid X-Amz-Bucket-Object-Lock-Enabled header"
) )