Skip to content
Snippets Groups Projects

Resolve "Remove ExpiryDuration from S3UploadSettings"

Merged James Page requested to merge 26-remove-expiryduration-from-s3uploadsettings into main
1 file
+ 7
1
Compare changes
  • Side-by-side
  • Inline
  • a11e1ad2
    #26 Clarified purpose of expiry duration and added it back to `UploadWithSettings` · a11e1ad2
    James Page authored
+ 7
1
@@ -30,7 +30,7 @@ type S3UploadResponse struct {
type S3UploadSettings struct {
MimeType MIMEType
RetrieveSignedUrl bool
ExpiryDuration *time.Duration
ExpiryDuration *time.Duration // Used to set expiry datetime of download links. NB: does not affect deletion of object from S3 bucket.
AddContentDisposition bool
FileName string
}
@@ -112,6 +112,12 @@ func (s SessionWithHelpers) UploadWithSettings(data []byte, bucket, fileName str
Body: bytes.NewReader(data),
}
// This sets the expiry date of the download link, not the deletion date of the object in the bucket.
if settings.ExpiryDuration != nil {
expiry := time.Now().Add(*settings.ExpiryDuration)
putInput.Expires = &expiry
}
_, err := s.S3Session.PutObject(putInput)
if err != nil {
return "", err
Loading