From dfa2ac5e9fc31e2120c4148737efdb3304036d03 Mon Sep 17 00:00:00 2001 From: Ioannis Dressos <96877388+idressos@users.noreply.github.com> Date: Wed, 8 Jul 2026 12:14:55 +0300 Subject: [PATCH] Add recover middleware to gracefully handle handler panics --- router/router.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/router/router.go b/router/router.go index 59d352e..473903a 100644 --- a/router/router.go +++ b/router/router.go @@ -51,6 +51,10 @@ func (t *TemplateRegistry) Render(w io.Writer, name string, data interface{}, c func New(tmplDir fs.FS, extraData map[string]interface{}, secret [64]byte) *echo.Echo { e := echo.New() + // Recover from panics in any middleware or handler so a single bad request + // cannot take down the connection with an unhandled stack trace. + e.Use(middleware.Recover()) + cookiePath := util.GetCookiePath() cookieStore := sessions.NewCookieStore(secret[:32], secret[32:])