From 695ea0a7043ed65ebc5e00b111708686ceea555e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pedro=20P=C3=A9rez?= Date: Fri, 9 May 2025 18:24:10 +0200 Subject: [PATCH] add recover middelware --- middlewares.go | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/middlewares.go b/middlewares.go index 522cdef..550b36c 100644 --- a/middlewares.go +++ b/middlewares.go @@ -48,3 +48,17 @@ func (e *Engine) RequestIdMiddleware() Middleware { }) } } + +func (e *Engine) RecoverMiddleware() Middleware { + return func(next http.Handler) http.Handler { + return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + defer func() { + if r := recover(); r != nil { + slog.Error("panic", "error", r) + http.Error(w, "Internal Server Error", http.StatusInternalServerError) + } + }() + next.ServeHTTP(w, r) + }) + } +}