func()

in pkg/gcv/configs/file.go [146:168]


func (p *gcsPath) read(ctx context.Context, bucket *storage.BucketHandle, name string) (File, error) {
	fileName := fmt.Sprintf("gs://%s/%s", p.bucket, name)
	glog.V(2).Infof("Listing GCS Object %s", fileName)

	reader, err := bucket.Object(name).NewReader(ctx)
	if err != nil {
		return File{}, errors.Wrapf(err, "failed to read object %s", fileName)
	}
	defer func() {
		if err := reader.Close(); err != nil {
			glog.Warningf("failed to close %s: %s", fileName, err)
		}
	}()

	data, err := io.ReadAll(reader)
	if err != nil {
		return File{}, errors.Wrapf(err, "failed to read %s", fileName)
	}
	return File{
		Content: data,
		Path:    fileName,
	}, nil
}