diff --git a/cmd/sklad/main.go b/cmd/sklad/main.go index c08ce2b..5f10348 100644 --- a/cmd/sklad/main.go +++ b/cmd/sklad/main.go @@ -12,6 +12,7 @@ import ( "path" "path/filepath" "strings" + "sync" "time" "janouch.name/sklad/imgutil" @@ -308,6 +309,8 @@ func handleLabel(w http.ResponseWriter, r *http.Request) { executeTemplate("label.tmpl", w, ¶ms) } +var mutex sync.Mutex + func handle(w http.ResponseWriter, r *http.Request) { if err := r.ParseForm(); err != nil { http.Error(w, err.Error(), http.StatusInternalServerError) @@ -317,6 +320,9 @@ func handle(w http.ResponseWriter, r *http.Request) { w.Header().Set("Cache-Control", "no-store") } + mutex.Lock() + defer mutex.Unlock() + switch _, base := path.Split(r.URL.Path); base { case "login": handleLogin(w, r)