package main import ( "embed" "fmt" "io/fs" "log" "net/http" ) //go:embed frontend/public var frontendEmbed embed.FS func init() { router.HandleFunc("/api/version", version) // frontend must come last to make sure /api takes precedence frontend, err := fs.Sub(frontendEmbed, "frontend/public") if err != nil { log.Fatalf("No embedded frontend: %v", err) } router.PathPrefix("/").Handler(http.FileServerFS(frontend)) } func version(w http.ResponseWriter, r *http.Request) { fmt.Fprint(w, versionTxt) }