From 7391dccf584768ee21e0de61735347db2961cb2b Mon Sep 17 00:00:00 2001 From: Ben McClelland Date: Wed, 24 May 2023 13:58:21 -0700 Subject: [PATCH] posix: add etag for get object --- backend/posix/posix.go | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/backend/posix/posix.go b/backend/posix/posix.go index 2940e819..4a74c06f 100644 --- a/backend/posix/posix.go +++ b/backend/posix/posix.go @@ -860,6 +860,12 @@ func (p *Posix) GetObject(bucket, object, acceptRange string, startOffset, lengt _, contentType, contentEncoding := loadUserMetaData(objPath, userMetaData) + b, err := xattr.Get(objPath, "user.etag") + etag := string(b) + if err != nil { + etag = "" + } + // TODO: fill range request header? // TODO: parse tags for tag count? return &s3.GetObjectOutput{ @@ -867,9 +873,9 @@ func (p *Posix) GetObject(bucket, object, acceptRange string, startOffset, lengt ContentLength: length, ContentEncoding: &contentEncoding, ContentType: &contentType, - // ETag: &etag, - LastModified: backend.GetTimePtr(fi.ModTime()), - Metadata: userMetaData, + ETag: &etag, + LastModified: backend.GetTimePtr(fi.ModTime()), + Metadata: userMetaData, }, nil }