fix: avoid useless `expires` value in listing meta (#20584)

When listing objects with metadata, avoid returning an "expires" time
metadata value when its value is the zero time as this means that no
expires value is set on the object.
This commit is contained in:
Aditya Manthramurthy 2024-10-24 19:13:19 -07:00 committed by GitHub
parent 6abe4128d7
commit 72a0d14195
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 6 additions and 3 deletions

View File

@ -593,8 +593,9 @@ func generateListVersionsResponse(ctx context.Context, bucket, prefix, marker, v
for k, v := range cleanReservedKeys(object.UserDefined) { for k, v := range cleanReservedKeys(object.UserDefined) {
content.UserMetadata.Set(k, v) content.UserMetadata.Set(k, v)
} }
if !object.Expires.IsZero() {
content.UserMetadata.Set("expires", object.Expires.Format(http.TimeFormat)) content.UserMetadata.Set("expires", object.Expires.Format(http.TimeFormat))
}
content.Internal = &ObjectInternalInfo{ content.Internal = &ObjectInternalInfo{
K: object.DataBlocks, K: object.DataBlocks,
M: object.ParityBlocks, M: object.ParityBlocks,
@ -729,7 +730,9 @@ func generateListObjectsV2Response(ctx context.Context, bucket, prefix, token, n
for k, v := range cleanReservedKeys(object.UserDefined) { for k, v := range cleanReservedKeys(object.UserDefined) {
content.UserMetadata.Set(k, v) content.UserMetadata.Set(k, v)
} }
content.UserMetadata.Set("expires", object.Expires.Format(http.TimeFormat)) if !object.Expires.IsZero() {
content.UserMetadata.Set("expires", object.Expires.Format(http.TimeFormat))
}
content.Internal = &ObjectInternalInfo{ content.Internal = &ObjectInternalInfo{
K: object.DataBlocks, K: object.DataBlocks,
M: object.ParityBlocks, M: object.ParityBlocks,