From b50eaad3288572ff90e5059bc412f085005cb692 Mon Sep 17 00:00:00 2001 From: vaporvee Date: Sun, 14 Apr 2024 17:58:59 +0200 Subject: [PATCH] fixed panicing in web --- web/web.go | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/web/web.go b/web/web.go index 6b79aa4..e3ea18a 100644 --- a/web/web.go +++ b/web/web.go @@ -2,6 +2,7 @@ package web import ( "embed" + "io" "log" "net/http" "text/template" @@ -27,7 +28,15 @@ func handleHTML(w http.ResponseWriter, embed embed.FS, path string) { tmpl.Execute(w, nil) } +func recoverFromPanic() { + if r := recover(); r != nil { + logrus.Errorf("Recovered from panic: %v", r) + } +} + func HostRoutes(botID string) { + defer recoverFromPanic() + http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { http.Redirect(w, r, custom.Gh_url, http.StatusMovedPermanently) }) @@ -40,11 +49,11 @@ func HostRoutes(botID string) { http.HandleFunc("/tos", func(w http.ResponseWriter, r *http.Request) { handleHTML(w, tosHTML, "./html/tos.html") }) - + var voidWriter io.Writer server := &http.Server{ Addr: ":443", Handler: nil, - ErrorLog: log.New(nil, "", 0), + ErrorLog: log.New(voidWriter, "", 0), } logrus.Info("Starting server for html routes on :443...") if err := server.ListenAndServeTLS("./web/cert.pem", "./web/key.pem"); err != nil {