package middleware // ToDo: make sure im using with gin not to be confused with gins recovery but may do the same? import ( "log" "net/http" "runtime/debug" templateHelpers "synlotto-website/internal/helpers/template" ) func Recover(next http.Handler) http.Handler { return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { defer func() { if rec := recover(); rec != nil { log.Printf("🔥 Recovered from panic: %v\n%s", rec, debug.Stack()) templateHelpers.RenderError(w, r, http.StatusInternalServerError) } }() next.ServeHTTP(w, r) }) }