in pkg/gcv/configs/file.go [171:203]
func (p *gcsPath) ReadAll(ctx context.Context, predicates ...readPredicate) ([]File, error) {
var files []File
bucket := globals.client.Bucket(p.bucket)
it := bucket.Objects(ctx, &storage.Query{
Prefix: p.path,
})
glog.V(2).Infof("Listing files in GCS at host %s and path %s", p.bucket, p.path)
for {
attrs, err := it.Next()
if err != nil {
if err == iterator.Done {
break
}
return nil, err
}
if !matchesPredicates(attrs.Name, predicates) {
continue
}
file, err := p.read(ctx, bucket, attrs.Name)
if err != nil {
return nil, errors.Wrapf(err, "")
}
files = append(files, file)
}
if len(files) == 0 {
return nil, errors.Errorf("no objects found at gs://%s/%s", p.bucket, p.path)
}
return files, nil
}