in server/pkg/server/storage/backends/s3/engine.go [73:96]
func (e *engine) Get(ctx context.Context, key string) ([]byte, error) {
// Check fields
if e.s3api == nil {
return nil, fmt.Errorf("s3 service is nil")
}
if e.bucketName == "" {
return nil, fmt.Errorf("bucketName is blank")
}
// Clean key
key = strings.TrimPrefix(key, fmt.Sprintf("/%s/", e.bucketName))
// Retrieve using S3 storage backend
result, err := cloudstorage.S3(e.s3api, e.bucketName, e.basePath).GetObject(ctx, key)
if err != nil {
return nil, fmt.Errorf("cloudstorage error: %w", err)
}
if result == nil {
return nil, errors.New("s3: nil object returned")
}
// No error
return io.ReadAll(result.Content)
}