func()

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)
}