...
1
2 package vfsutil
3
4 import (
5 "io"
6 "net/http"
7 "os"
8 )
9
10
11
12 func ReadDir(fs http.FileSystem, name string) ([]os.FileInfo, error) {
13 f, err := fs.Open(name)
14 if err != nil {
15 return nil, err
16 }
17 defer f.Close()
18 return f.Readdir(0)
19 }
20
21
22 func Stat(fs http.FileSystem, name string) (os.FileInfo, error) {
23 f, err := fs.Open(name)
24 if err != nil {
25 return nil, err
26 }
27 defer f.Close()
28 return f.Stat()
29 }
30
31
32 func ReadFile(fs http.FileSystem, path string) ([]byte, error) {
33 rc, err := fs.Open(path)
34 if err != nil {
35 return nil, err
36 }
37 defer rc.Close()
38 return io.ReadAll(rc)
39 }
40
View as plain text