service.xpcool.com/internal/middleware/common.go

27 lines
624 B
Go

package middleware
import (
"github.com/gogf/gf/v2/net/ghttp"
"service.xpcool.com/internal/consts"
"service.xpcool.com/internal/library/response"
)
// CORS is deliberately mounted only on public HTTP route groups.
func CORS(r *ghttp.Request) {
r.Response.CORSDefault()
if r.Method == "OPTIONS" {
r.Response.WriteStatusExit(204)
}
r.Middleware.Next()
}
// Recover converts panics to the common envelope; server logs retain stack traces.
func Recover(r *ghttp.Request) {
defer func() {
if recover() != nil {
response.JSON(r, consts.CodeInternal, "internal server error", nil)
}
}()
r.Middleware.Next()
}