in experimental/fs_storage.go [55:88]
func (f *fsStorage) List(rootDir string, fn walkFunc) error {
rootDir, err := filepath.Abs(f.fullPath(rootDir))
if err != nil {
return nil
}
rootDir += "/"
return filepath.Walk(rootDir, func(fullPath string, info os.FileInfo, err error) error {
path := fullPath
if strings.HasPrefix(path, rootDir) {
path = path[len(rootDir):]
}
if path == "" {
return nil
}
fi := fileInfo{fullPath: fullPath, size: info.Size(), directory: info.IsDir()}
if info.IsDir() {
err = fn(path, fi, err)
if err != nil {
return err
}
return filepath.SkipDir
} else {
fi := fileInfo{fullPath: fullPath, size: info.Size()}
return fn(path, fi, err)
}
})
}