From 08e9dc998ad1096c415c43c214731220c5ab34ff Mon Sep 17 00:00:00 2001 From: Aki Date: Sun, 31 Dec 2023 04:41:50 +0100 Subject: Embed script and any pages into the tool --- main.go | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) (limited to 'main.go') diff --git a/main.go b/main.go index f2cb460..6d92d32 100644 --- a/main.go +++ b/main.go @@ -1,6 +1,7 @@ package main import ( + "embed" "encoding/json" "log" "net/http" @@ -8,9 +9,9 @@ import ( "github.com/gorilla/mux" ) -func handleHome(w http.ResponseWriter, r *http.Request) { - w.Write([]byte("stats OK")) -} +//go:embed *.js +//go:embed *.html +var content embed.FS func handleEntryOptions(w http.ResponseWriter, r *http.Request) { w.Header().Set("Access-Control-Allow-Origin", "*") @@ -23,28 +24,25 @@ func handleEntryPost(w http.ResponseWriter, r *http.Request) { w.Header().Set("Access-Control-Allow-Origin", "*") w.Header().Set("Access-Control-Allow-Methods", "POST, OPTIONS") w.Header().Set("Access-Control-Allow-Headers", "Content-Type") - var entry Entry - err := json.NewDecoder(r.Body).Decode(&entry) if err != nil { http.Error(w, err.Error(), http.StatusBadRequest) return } - err = InsertEntry(&entry) if err != nil { http.Error(w, err.Error(), http.StatusInternalServerError) return } + log.Println("New entry for", entry.Location) } func handleRequests() { router := mux.NewRouter() - router.HandleFunc("/", handleHome) router.HandleFunc("/entry", handleEntryPost).Methods("POST") router.HandleFunc("/entry", handleEntryOptions).Methods("OPTIONS") - + router.PathPrefix("/").Handler(http.FileServer(http.FS(content))) log.Fatal(http.ListenAndServe(":8080", router)) } -- cgit v1.1