@@ -21,49 +21,45 @@ import (
2121 "io/ioutil"
2222 pathutil "path"
2323 "strings"
24- "time"
25-
26- "github.com/aws/aws-sdk-go/aws/credentials"
2724
2825 "github.com/aws/aws-sdk-go/aws"
26+ "github.com/aws/aws-sdk-go/aws/credentials"
2927 "github.com/aws/aws-sdk-go/aws/session"
3028 "github.com/aws/aws-sdk-go/service/s3"
3129 "github.com/aws/aws-sdk-go/service/s3/s3manager"
3230)
3331
3432// AmazonS3Backend is a storage backend for Amazon S3
3533type AmazonS3Backend struct {
36- Bucket string
37- Client * s3.S3
38- Downloader * s3manager.Downloader
39- Prefix string
40- Uploader * s3manager.Uploader
41- SSE string
42- NearestSecond bool
34+ Bucket string
35+ Client * s3.S3
36+ Downloader * s3manager.Downloader
37+ Prefix string
38+ Uploader * s3manager.Uploader
39+ SSE string
4340}
4441
4542// NewAmazonS3Backend creates a new instance of AmazonS3Backend
46- func NewAmazonS3Backend (bucket string , prefix string , region string , endpoint string , sse string , nearestSecond bool ) * AmazonS3Backend {
43+ func NewAmazonS3Backend (bucket string , prefix string , region string , endpoint string , sse string ) * AmazonS3Backend {
4744 service := s3 .New (session .New (), & aws.Config {
4845 Region : aws .String (region ),
4946 Endpoint : aws .String (endpoint ),
5047 DisableSSL : aws .Bool (strings .HasPrefix (endpoint , "http://" )),
5148 S3ForcePathStyle : aws .Bool (endpoint != "" ),
5249 })
5350 b := & AmazonS3Backend {
54- Bucket : bucket ,
55- Client : service ,
56- Downloader : s3manager .NewDownloaderWithClient (service ),
57- Prefix : cleanPrefix (prefix ),
58- Uploader : s3manager .NewUploaderWithClient (service ),
59- SSE : sse ,
60- NearestSecond : nearestSecond ,
51+ Bucket : bucket ,
52+ Client : service ,
53+ Downloader : s3manager .NewDownloaderWithClient (service ),
54+ Prefix : cleanPrefix (prefix ),
55+ Uploader : s3manager .NewUploaderWithClient (service ),
56+ SSE : sse ,
6157 }
6258 return b
6359}
6460
6561// NewAmazonS3BackendWithCredentials creates a new instance of AmazonS3Backend with credentials
66- func NewAmazonS3BackendWithCredentials (bucket string , prefix string , region string , endpoint string , sse string , nearestSecond bool , credentials * credentials.Credentials ) * AmazonS3Backend {
62+ func NewAmazonS3BackendWithCredentials (bucket string , prefix string , region string , endpoint string , sse string , credentials * credentials.Credentials ) * AmazonS3Backend {
6763 service := s3 .New (session .New (), & aws.Config {
6864 Credentials : credentials ,
6965 Region : aws .String (region ),
@@ -72,13 +68,12 @@ func NewAmazonS3BackendWithCredentials(bucket string, prefix string, region stri
7268 S3ForcePathStyle : aws .Bool (endpoint != "" ),
7369 })
7470 b := & AmazonS3Backend {
75- Bucket : bucket ,
76- Client : service ,
77- Downloader : s3manager .NewDownloaderWithClient (service ),
78- Prefix : cleanPrefix (prefix ),
79- Uploader : s3manager .NewUploaderWithClient (service ),
80- SSE : sse ,
81- NearestSecond : nearestSecond ,
71+ Bucket : bucket ,
72+ Client : service ,
73+ Downloader : s3manager .NewDownloaderWithClient (service ),
74+ Prefix : cleanPrefix (prefix ),
75+ Uploader : s3manager .NewUploaderWithClient (service ),
76+ SSE : sse ,
8277 }
8378 return b
8479}
@@ -106,14 +101,6 @@ func (b AmazonS3Backend) ListObjects(prefix string) ([]Object, error) {
106101 Content : []byte {},
107102 LastModified : * obj .LastModified ,
108103 }
109- if b .NearestSecond {
110- // This is a patch so that LastModified match between the List
111- // and GetObject function. Some S3 implementations like Dell ECS,
112- // Ceph or DigitalOcean Spaces seems to truncate the microseconds
113- // when getting the LastModified date from an object get
114- // versus an object list
115- object .LastModified = obj .LastModified .Truncate (time .Second )
116- }
117104 objects = append (objects , object )
118105 }
119106 if ! * s3Result .IsTruncated {
0 commit comments