From 72a0d14195afa24d9d607ce21f601db96fbe8fe1 Mon Sep 17 00:00:00 2001 From: Aditya Manthramurthy Date: Thu, 24 Oct 2024 19:13:19 -0700 Subject: [PATCH] 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. --- cmd/api-response.go | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/cmd/api-response.go b/cmd/api-response.go index 5477c9a65..81c04e128 100644 --- a/cmd/api-response.go +++ b/cmd/api-response.go @@ -593,8 +593,9 @@ func generateListVersionsResponse(ctx context.Context, bucket, prefix, marker, v for k, v := range cleanReservedKeys(object.UserDefined) { 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{ K: object.DataBlocks, M: object.ParityBlocks, @@ -729,7 +730,9 @@ func generateListObjectsV2Response(ctx context.Context, bucket, prefix, token, n for k, v := range cleanReservedKeys(object.UserDefined) { 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{ K: object.DataBlocks, M: object.ParityBlocks,