diff options
Diffstat (limited to 'core/middleware.go')
| -rw-r--r-- | core/middleware.go | 31 |
1 files changed, 0 insertions, 31 deletions
diff --git a/core/middleware.go b/core/middleware.go deleted file mode 100644 index 55e67fb..0000000 --- a/core/middleware.go +++ /dev/null @@ -1,31 +0,0 @@ -package core - -import ( - "errors" - "net/http" - - "golang.org/x/exp/slog" -) - -func RecoverMiddleware(next http.Handler) http.Handler { - fn := func(w http.ResponseWriter, r *http.Request) { - defer func() { - if rcv := recover(); rcv != nil { - switch err := rcv.(type) { - case error: - if errors.Is(err, http.ErrAbortHandler) { - panic(rcv) - } - slog.Error(err.Error()) - http.Error(w, http.StatusText(http.StatusInternalServerError), http.StatusInternalServerError) - default: - panic(err) - } - } - }() - - next.ServeHTTP(w, r) - } - - return http.HandlerFunc(fn) -} |
