Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ApiFuncs = map[string]ApiFunc{ "generate": Generate, }
View Source
var GetHttpHandle = func() http.Handler { root, _ := fs.Sub(Webfs, "dist") fileServer := http.FileServer(http.FS(root)) indexHtml, _ := Webfs.ReadFile("dist/index.html") indexHtmlStr := string(indexHtml) variables := map[string]string{ "ROOTPATH": flags.Rootpath, "PREFIX": flags.Prefix, "ENV": "production", "VERSION": version.Version, } variableRegex := regexp.MustCompile(`".*?"; //__([A-Z][_A-Z0-9]*?)__`) indexHtmlStr = variableRegex.ReplaceAllStringFunc(indexHtmlStr, func(s string) string { i := strings.Index(s, "__") j := strings.LastIndex(s, "__") variable := s[i+2 : j] if value, ok := variables[variable]; ok { return fmt.Sprintf(`%q; //%s`, value, s[j+2:]) } return s }) indexHtml = []byte(indexHtmlStr) return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { w.Header().Set("WWW-Authenticate", `Basic realm="website"`) if flags.Cors { w.Header().Set("Access-Control-Allow-Origin", "*") } if flags.Pass != "" { username, password, ok := r.BasicAuth() if !ok || username != flags.User || password != flags.Pass { w.WriteHeader(401) w.Write([]byte("Unauthorized")) return } } path := strings.TrimPrefix(r.URL.Path, "/") f, err := root.Open(path) if err == nil { defer f.Close() } if path == "api" { apiHandler(w, r) return } if path == "" || os.IsNotExist(err) { w.Write(indexHtml) return } fileServer.ServeHTTP(w, r) }) }
View Source
var Webfs embed.FS
Functions ¶
Types ¶
Click to show internal directories.
Click to hide internal directories.