45 lines
1.2 KiB
Go
45 lines
1.2 KiB
Go
package middleware
|
|
|
|
import (
|
|
"blazing/modules/base/config"
|
|
"fmt"
|
|
"net/http"
|
|
|
|
"github.com/gogf/gf/v2/frame/g"
|
|
"github.com/gogf/gf/v2/net/ghttp"
|
|
)
|
|
|
|
func MiddlewareCORS(r *ghttp.Request) {
|
|
r.Response.CORSDefault()
|
|
corsOptions := r.Response.DefaultCORSOptions()
|
|
corsOptions.AllowDomain = []string{"*"}
|
|
if !r.Response.CORSAllowedOrigin(corsOptions) {
|
|
r.Response.WriteStatus(http.StatusForbidden)
|
|
return
|
|
}
|
|
r.Response.CORS(corsOptions)
|
|
if r.Response.Request.Method == "OPTIONS" {
|
|
r.Response.WriteStatus(http.StatusOK)
|
|
return
|
|
}
|
|
fmt.Println(r.Response.Header())
|
|
//g.Dump(r.Response.Server.SetConfig(gtt))
|
|
//r.Response.Header().Del("Server") // 删除Server头
|
|
// r.Response.Header().Set("Server", "blazing")
|
|
r.Middleware.Next()
|
|
}
|
|
func init() {
|
|
if config.Config.Middleware.Authority.Enable {
|
|
g.Server().BindMiddleware("/admin/*/open/*", BaseAuthorityMiddlewareOpen)
|
|
g.Server().BindMiddleware("/admin/*/comm/*", BaseAuthorityMiddlewareComm)
|
|
g.Server().BindMiddleware("/admin/*", BaseAuthorityMiddleware)
|
|
g.Server().BindMiddleware("/*", AutoI18n)
|
|
g.Server().BindMiddleware("/*", MiddlewareCORS)
|
|
|
|
}
|
|
if config.Config.Middleware.Log.Enable {
|
|
g.Server().BindMiddleware("/admin/*", BaseLog)
|
|
}
|
|
|
|
}
|