middleware: Add recovery middleware

This commit is contained in:
Muyao CHEN 2024-09-25 13:35:38 +02:00
parent 3bf14b9c04
commit e770731643

View File

@ -0,0 +1,21 @@
package middleware
import (
"net/http"
"git.vinchent.xyz/vinchent/go-web/framework"
)
// Recovery is a middleware that recovers from the panic
func Recovery() framework.ControllerHandler {
return func(c *framework.Context) error {
defer func() {
if err := recover(); err != nil {
c.WriteJSON(http.StatusInternalServerError, err)
}
}()
c.Next()
return nil
}
}