From 25ef4fd54bd004a7120d3dd0009ced1ee516e63a Mon Sep 17 00:00:00 2001 From: dtookey Date: Wed, 16 Nov 2022 11:10:58 -0500 Subject: [PATCH] edited SendError to ship a generic error if there's no template explicitly stated --- servlet/server.go | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/servlet/server.go b/servlet/server.go index 24ddbf3..efc0a0d 100644 --- a/servlet/server.go +++ b/servlet/server.go @@ -1,6 +1,7 @@ package servlet import ( + "encoding/json" "fmt" "geniuscartel.xyz/vinegar/vinegarUtil" "log" @@ -101,11 +102,22 @@ func (s *VinegarServlet) SendError(w http.ResponseWriter, code int, msg string) if exists { tmpl.TemplateManager.AddMixin("code", strconv.Itoa(code)) tmpl.TemplateManager.AddMixin("msg", msg) + w.WriteHeader(code) + _, err := w.Write([]byte(tmpl.TemplateManager.RenderTemplate(fmt.Sprintf("%d.html", code)))) + if err != nil { + panic(err) + } + return + } else { + w.WriteHeader(code) + genericError, sErr := json.Marshal(msg) + if sErr != nil { + panic(sErr) + } + _, err := w.Write(genericError) + if err != nil { + panic(err) + } + return } - w.WriteHeader(code) - _, err := w.Write([]byte(tmpl.TemplateManager.RenderTemplate(fmt.Sprintf("%d.html", code)))) - if err != nil { - panic(err) - } - return }