in server/pkg/server/storage/backends/container/driver_s3.go [39:62]
func (d *s3Loader) Reader(ctx context.Context, key string) (io.ReadCloser, error) {
// Check fields
if d.s3api == nil {
return nil, fmt.Errorf("s3 service is nil")
}
if d.bucketName == "" {
return nil, fmt.Errorf("bucktName is blank")
}
// Clean key
key = strings.TrimPrefix(key, fmt.Sprintf("/%s/", d.bucketName))
// Retrieve using S3 storage backend
result, err := storage.S3(d.s3api, d.bucketName, d.prefix).GetObject(ctx, key)
if err != nil {
return nil, fmt.Errorf("s3: cloudstorage error: %w", err)
}
if result == nil {
return nil, errors.New("s3: nil object returned")
}
// No error
return result.Content, nil
}