??import (
?? ??"github.com/gin-gonic/gin"
? ? ?? "net/http"
??)
??func Cors() gin.HandlerFunc {
???? return func(c gin.Context) {
? ???? method := c.Request.Method
? ???? c.Header("Access-Control-Allow-Origin", "")
? ???? c.Header("Access-Control-Allow-Headers", "Content-Type,AccessToken,X-CSRF-Token, Authorization, Token")
? ???? c.Header("Access-Control-Allow-Methods", "POST, GET, OPTIONS")
? ???? c.Header("Access-Control-Expose-Headers", "Content-Length, Access-Control-Allow-Origin, Access-Control-Allow-Headers, Content-Type")
? ????c.Header("Access-Control-Allow-Credentials", "true")
? ???? //放行所有OPTIONS方法
? ????if method == "OPTIONS" {
? ???? c.AbortWithStatus(http.StatusNoContent)
???? }
???? // 处理请求
? ????c.Next()
????}
??}
调用中间件前:
顺利访问
以上转载: https://www.cnblogs.com/-xuzhankun/p/11145772.html
补充(代码存放):
代码放在middleware包下的cross-domain.go中
路由中
原文:https://www.cnblogs.com/miniSimple/p/12704302.html