From 863e6266c02a09d84570fe6f6884b95fa458ece3 Mon Sep 17 00:00:00 2001 From: Julien Dessaux Date: Mon, 26 Jul 2021 18:34:25 +0200 Subject: Added MethodNotAllowed errors to login webui handler --- internal/webui/login.go | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'internal/webui/login.go') diff --git a/internal/webui/login.go b/internal/webui/login.go index c0eb109..5469dd1 100644 --- a/internal/webui/login.go +++ b/internal/webui/login.go @@ -26,7 +26,8 @@ func loginHandler(e *env, w http.ResponseWriter, r *http.Request) error { http.Redirect(w, r, "/", http.StatusFound) return nil } - if r.Method == http.MethodPost { + switch r.Method { + case http.MethodPost: r.ParseForm() // username username, ok := r.Form["username"] @@ -71,13 +72,15 @@ func loginHandler(e *env, w http.ResponseWriter, r *http.Request) error { http.SetCookie(w, &cookie) http.Redirect(w, r, "/", http.StatusFound) return nil - } else { + case http.MethodGet: p := Page{Title: "Login"} err := loginTemplate.ExecuteTemplate(w, "login.html", p) if err != nil { return newStatusError(http.StatusInternalServerError, err) } return nil + default: + return newStatusError(http.StatusMethodNotAllowed, fmt.Errorf(http.StatusText(http.StatusMethodNotAllowed))) } } else { return newStatusError(http.StatusNotFound, fmt.Errorf("Invalid path in loginHandler")) -- cgit v1.2.3