37 lines
547 B
Go

package common
import (
"embed"
"io/fs"
"net/http"
)
//go:embed assets/*
var assetsFS embed.FS
type Handler struct {
mux *http.ServeMux
}
// ServeHTTP implements http.Handler.
func (h *Handler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
h.mux.ServeHTTP(w, r)
}
func NewHandler() *Handler {
handler := &Handler{
mux: http.NewServeMux(),
}
assets, err := fs.Sub(assetsFS, "assets")
if err != nil {
panic(err)
}
handler.mux.Handle("GET /", http.FileServerFS(assets))
return handler
}
var _ http.Handler = &Handler{}