mirror of
https://github.com/gmemstr/sliproad.git
synced 2024-09-20 00:21:15 +01:00
Fix referencing for S3 providers.
S3 providers would overwrite each other depending on the order they're initialized.
This commit is contained in:
parent
8fff6da76b
commit
4aae9887e1
18
files/s3.go
18
files/s3.go
|
@ -12,10 +12,11 @@ import (
|
||||||
"github.com/aws/aws-sdk-go/aws/credentials"
|
"github.com/aws/aws-sdk-go/aws/credentials"
|
||||||
"github.com/aws/aws-sdk-go/aws/session"
|
"github.com/aws/aws-sdk-go/aws/session"
|
||||||
"github.com/aws/aws-sdk-go/service/s3"
|
"github.com/aws/aws-sdk-go/service/s3"
|
||||||
|
"github.com/aws/aws-sdk-go/service/s3/s3manager"
|
||||||
)
|
)
|
||||||
|
|
||||||
var svc s3.S3
|
var svc s3.S3
|
||||||
var sess *session.Session
|
var sess session.Session
|
||||||
|
|
||||||
type S3Provider struct {
|
type S3Provider struct {
|
||||||
FileProvider
|
FileProvider
|
||||||
|
@ -38,11 +39,12 @@ func (s *S3Provider) Setup(args map[string]string) bool {
|
||||||
if s.Endpoint != "" {
|
if s.Endpoint != "" {
|
||||||
config.Endpoint = &s.Endpoint
|
config.Endpoint = &s.Endpoint
|
||||||
}
|
}
|
||||||
sess, err := session.NewSession(config)
|
ss, err := session.NewSession(config)
|
||||||
|
sess = *ss
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
svc = *s3.New(sess)
|
svc = *s3.New(&sess)
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -95,9 +97,19 @@ func (s *S3Provider) SendFile(path string) (stream io.Reader, contenttype string
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *S3Provider) SaveFile(file io.Reader, filename string, path string) bool {
|
func (s *S3Provider) SaveFile(file io.Reader, filename string, path string) bool {
|
||||||
|
uploader := s3manager.NewUploader(&sess)
|
||||||
|
_, err := uploader.Upload(&s3manager.UploadInput{
|
||||||
|
Bucket: &s.Bucket,
|
||||||
|
Key: &filename,
|
||||||
|
Body: file,
|
||||||
|
})
|
||||||
|
if err != nil {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
func (s *S3Provider) ObjectInfo(path string) (bool, bool, string) {
|
func (s *S3Provider) ObjectInfo(path string) (bool, bool, string) {
|
||||||
if path == "" {
|
if path == "" {
|
||||||
return true, true, ""
|
return true, true, ""
|
||||||
|
|
Loading…
Reference in a new issue