From e989b8454b65f76094d74f80f3e11e8c819b5239 Mon Sep 17 00:00:00 2001 From: Martyn Ranyard Date: Fri, 21 Feb 2020 20:52:19 +0100 Subject: [PATCH] 404s, admin panel route and removal of old data structure Signed-off-by: Martyn Ranyard --- internal/webserver/webserver.go | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/internal/webserver/webserver.go b/internal/webserver/webserver.go index d0e710a..89ea4e1 100755 --- a/internal/webserver/webserver.go +++ b/internal/webserver/webserver.go @@ -26,6 +26,7 @@ func HealthHandler(response http.ResponseWriter, request *http.Request) { func NotFoundHandler(response http.ResponseWriter, request *http.Request) { response.Header().Add("X-Template-File", "html"+request.URL.Path) + response.WriteHeader(404) tmpl := template.Must(template.ParseFiles("web/404.html")) tmpl.Execute(response, nil) } @@ -72,7 +73,7 @@ func TemplateHandler(response http.ResponseWriter, request *http.Request) { // NotFoundHandler(response, request) // return } - var td = TemplateData{ircBot.Prompts[rand.Intn(len(ircBot.Prompts))], len(ircBot.Prompts), len(ircBot.Credentials.Channels), 0} + var td = TemplateData{ircBot.Prompts[rand.Intn(len(ircBot.Prompts))], len(ircBot.Prompts), 0, 0} err = tmpl.Execute(response, td) if err != nil { http.Error(response, err.Error(), http.StatusInternalServerError) @@ -80,6 +81,11 @@ func TemplateHandler(response http.ResponseWriter, request *http.Request) { } } +func AdminHandler(response http.ResponseWriter, request *http.Request) { + request.URL.Path = "/index.html" + TemplateHandler(response, request) +} + func HandleHTTP(passedIrcBot irc.KardBot) { ircBot = passedIrcBot r := mux.NewRouter() @@ -89,6 +95,7 @@ func HandleHTTP(passedIrcBot irc.KardBot) { r.HandleFunc("/healthz", HealthHandler) r.HandleFunc("/example/{.*}", TemplateHandler) r.HandleFunc("/cover.css", CSSHandler) + r.HandleFunc("/admin/{channel}/{key}", AdminHandler) http.Handle("/", r) srv := &http.Server{ Handler: loggedRouter,