mirror of
https://github.com/woodpecker-ci/woodpecker.git
synced 2025-09-02 15:29:37 +00:00
Use go embed for web files and remove httptreemux (#382)
- replace togo with go embed - replace httptreemux with gin closes #308
This commit is contained in:
44
web/web.go
Normal file
44
web/web.go
Normal file
@@ -0,0 +1,44 @@
|
||||
package web
|
||||
|
||||
import (
|
||||
"embed"
|
||||
"io/fs"
|
||||
"io/ioutil"
|
||||
"net/http"
|
||||
)
|
||||
|
||||
//go:embed dist/*
|
||||
var webFiles embed.FS
|
||||
|
||||
func HttpFS() http.FileSystem {
|
||||
httpFS, err := fs.Sub(webFiles, "dist")
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
return http.FS(httpFS)
|
||||
}
|
||||
|
||||
func Lookup(path string) (buf []byte, err error) {
|
||||
file, err := HttpFS().Open(path)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
defer file.Close()
|
||||
|
||||
buf, err = ioutil.ReadAll(file)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return buf, nil
|
||||
}
|
||||
|
||||
func MustLookup(path string) (buf []byte) {
|
||||
buf, err := Lookup(path)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
return buf
|
||||
}
|
Reference in New Issue
Block a user