27 lines
624 B
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()
|
|
}
|