27 lines
		
	
	
		
			721 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			27 lines
		
	
	
		
			721 B
		
	
	
	
		
			Go
		
	
	
	
	
	
| package frame
 | |
| 
 | |
| import (
 | |
| 	"net/http"
 | |
| 
 | |
| 	"github.com/gin-gonic/gin"
 | |
| )
 | |
| 
 | |
| 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", "GET,POST,PUT,PATCH,DELETE,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()
 | |
| 	}
 | |
| }
 |