diff options
Diffstat (limited to 'weed/filer/entry.go')
| -rw-r--r-- | weed/filer/entry.go | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/weed/filer/entry.go b/weed/filer/entry.go index 5bd1a3c56..4757d5c9e 100644 --- a/weed/filer/entry.go +++ b/weed/filer/entry.go @@ -1,6 +1,7 @@ package filer import ( + "github.com/seaweedfs/seaweedfs/weed/s3api/s3_constants" "os" "time" @@ -143,3 +144,26 @@ func maxUint64(x, y uint64) uint64 { } return y } + +func (entry *Entry) IsExpireS3Enabled() (exist bool) { + if entry.Extended != nil { + _, exist = entry.Extended[s3_constants.SeaweedFSExpiresS3] + } + return exist +} + +func (entry *Entry) IsS3Versioning() (exist bool) { + if entry.Extended != nil { + _, exist = entry.Extended[s3_constants.ExtVersionIdKey] + } + return exist +} + +func (entry *Entry) GetS3ExpireTime() (expireTime time.Time) { + if entry.Mtime.IsZero() { + expireTime = entry.Crtime + } else { + expireTime = entry.Mtime + } + return expireTime.Add(time.Duration(entry.TtlSec) * time.Second) +} |
