ohsnap/static.go

36 lines
623 B
Go

// +build !dev
package main
import (
"embed"
"io/fs"
"net/http"
)
//go:embed static
var assets embed.FS
func init() {
mux.HandleFunc("/favicon.ico", serveStaticAsset)
mux.HandleFunc("/static/css/", serveStaticAsset)
mux.HandleFunc("/static/js/", serveStaticAsset)
mux.HandleFunc("/static/", serveStaticAsset)
}
var staticFS http.FileSystem
func serveStaticAsset(w http.ResponseWriter, r *http.Request) {
http.FileServer(staticFS).ServeHTTP(w, r)
}
func sanitizeStaticOptions() error {
if sub, err := fs.Sub(assets, "static"); err != nil {
return err
} else {
staticFS = http.FS(sub)
return nil
}
}