wp-go/internal/static/static.go
2023-01-30 20:16:03 +08:00

29 lines
524 B
Go

package static
import (
"embed"
"errors"
"io/fs"
"path/filepath"
"strings"
)
//go:embed wp-content wp-includes favicon.ico
var FsDir embed.FS
type Fs struct {
embed.FS
Path string
}
func (f Fs) Open(path string) (fs.File, error) {
if filepath.Separator != '/' && strings.ContainsRune(path, filepath.Separator) {
return nil, errors.New("http: invalid character in file path")
}
fullName := strings.TrimLeft(path, "/")
fullName = f.Path + "/" + fullName
file, err := f.FS.Open(fullName)
return file, err
}