1
0
Fork 0

Minor readability improvements

master
Philip O'Toole 1 year ago
parent 94e979cd31
commit 27dc5e51da

@ -49,12 +49,9 @@ func (s *S3Client) String() string {
// Upload uploads data to S3.
func (s *S3Client) Upload(ctx context.Context, reader io.Reader) error {
sess, err := session.NewSession(&aws.Config{
Region: aws.String(s.region),
Credentials: credentials.NewStaticCredentials(s.accessKey, s.secretKey, ""),
})
sess, err := s.createSession()
if err != nil {
return fmt.Errorf("failed to create S3 session: %w", err)
return err
}
// If an uploader was not provided, use a real S3 uploader.
@ -71,7 +68,7 @@ func (s *S3Client) Upload(ctx context.Context, reader io.Reader) error {
Body: reader,
})
if err != nil {
return fmt.Errorf("failed to upload to %s: %w", s, err)
return fmt.Errorf("failed to upload to %v: %w", s, err)
}
return nil
@ -79,12 +76,9 @@ func (s *S3Client) Upload(ctx context.Context, reader io.Reader) error {
// Download downloads data from S3.
func (s *S3Client) Download(ctx context.Context, writer io.WriterAt) error {
sess, err := session.NewSession(&aws.Config{
Region: aws.String(s.region),
Credentials: credentials.NewStaticCredentials(s.accessKey, s.secretKey, ""),
})
sess, err := s.createSession()
if err != nil {
return fmt.Errorf("failed to create S3 session: %w", err)
return err
}
downloader := s3manager.NewDownloader(sess)
@ -94,8 +88,19 @@ func (s *S3Client) Download(ctx context.Context, writer io.WriterAt) error {
Key: aws.String(s.key),
})
if err != nil {
return fmt.Errorf("failed to download from %s: %w", s, err)
return fmt.Errorf("failed to download from %v: %w", s, err)
}
return nil
}
func (s *S3Client) createSession() (*session.Session, error) {
sess, err := session.NewSession(&aws.Config{
Region: aws.String(s.region),
Credentials: credentials.NewStaticCredentials(s.accessKey, s.secretKey, ""),
})
if err != nil {
return nil, fmt.Errorf("failed to create S3 session: %w", err)
}
return sess, nil
}

@ -72,7 +72,11 @@ func NewUploader(storageClient StorageClient, dataProvider DataProvider, interva
}
// Start starts the Uploader service.
func (u *Uploader) Start(ctx context.Context, enabled func() bool) {
func (u *Uploader) Start(ctx context.Context, isUploadEnabled func() bool) {
if isUploadEnabled == nil {
isUploadEnabled = func() bool { return true }
}
u.logger.Printf("starting upload to %s every %s", u.storageClient, u.interval)
ticker := time.NewTicker(u.interval)
defer ticker.Stop()
@ -83,7 +87,7 @@ func (u *Uploader) Start(ctx context.Context, enabled func() bool) {
u.logger.Println("upload service shutting down")
return
case <-ticker.C:
if enabled != nil && !enabled() {
if !isUploadEnabled() {
continue
}
if err := u.upload(ctx); err != nil {

Loading…
Cancel
Save