修改跨域处理

This commit is contained in:
junleea 2024-09-27 21:13:56 +08:00
parent 56cab15a73
commit 27cd64640f
2 changed files with 21 additions and 16 deletions

View File

@ -2,26 +2,31 @@ package handler
import ( import (
"github.com/gin-gonic/gin" "github.com/gin-gonic/gin"
"net/http"
//"net/http" //"net/http"
) )
// 跨域访问cross origin resource share // 跨域访问cross origin resource share
func CrosHandler() gin.HandlerFunc { func CrosHandler() gin.HandlerFunc {
return func(c *gin.Context) { return func(context *gin.Context) {
c.Writer.Header().Set("Access-Control-Allow-Origin", "*") // 或者设置为具体的源 //method := context.Request.Method
c.Writer.Header().Set("Access-Control-Allow-Methods", "POST, GET, OPTIONS, PUT, DELETE") context.Writer.Header().Set("Access-Control-Allow-Origin", "*")
c.Writer.Header().Set("Access-Control-Allow-Headers", "Authorization, Content-Length, X-CSRF-Token, Token, Session, X-Requested-With, Accept, Origin, Host, Connection, Accept-Encoding, Accept-Language, DNT, X-CustomHeader, Keep-Alive, User-Agent, X-Requested-With, If-Modified-Since, Cache-Control, Content-Type, Pragma, Token, OpenId, OpenToken") context.Header("Access-Control-Allow-Origin", "*") // 设置允许访问所有域
c.Writer.Header().Set("Access-Control-Expose-Headers", "Content-Length, Access-Control-Allow-Origin, Access-Control-Allow-Headers, Cache-Control, Content-Language, Content-Type, Expires, Last-Modified, Pragma, FooBar") context.Header("Access-Control-Allow-Methods", "POST, GET, OPTIONS, PUT, DELETE,UPDATE")
c.Writer.Header().Set("Access-Control-Max-Age", "172800") context.Header("Access-Control-Allow-Headers", "Authorization, Content-Length, X-CSRF-Token, Token,session,X_Requested_With,Accept, Origin, Host, Connection, Accept-Encoding, Accept-Language,DNT, X-CustomHeader, Keep-Alive, User-Agent, X-Requested-With, If-Modified-Since, Cache-Control, Content-Type, Pragma,token,openid,opentoken")
// 如果需要发送cookies请确保设置了具体的源而不是*并将Allow-Credentials设置为true context.Header("Access-Control-Expose-Headers", "Content-Length, Access-Control-Allow-Origin, Access-Control-Allow-Headers,Cache-Control,Content-Language,Content-Type,Expires,Last-Modified,Pragma,FooBar")
// c.Writer.Header().Set("Access-Control-Allow-Credentials", "true") context.Header("Access-Control-Max-Age", "172800")
context.Header("Access-Control-Allow-Credentials", "false")
context.Set("content-type", "application/json") //设置返回格式是json
if c.Request.Method == "OPTIONS" { // if method == "OPTIONS" {
c.AbortWithStatus(http.StatusOK) // context.JSON(http.StatusOK, gin.H{
return // "code":1,
} // "message":"error",
// "data":"request error",
// })
// }
c.Next() //处理请求
context.Next()
} }
} }

View File

@ -13,8 +13,8 @@ import (
) )
func main() { func main() {
r := gin.Default()
gin.SetMode(gin.ReleaseMode) gin.SetMode(gin.ReleaseMode)
r := gin.Default()
err := dao.Init() err := dao.Init()
if err != nil { if err != nil {
panic("failed to connect database:" + err.Error()) panic("failed to connect database:" + err.Error())
@ -31,9 +31,9 @@ func main() {
handler.SetUpIMGroup(r) // IM handler.SetUpIMGroup(r) // IM
handler.SetUpCIDGroup(r) // CID,持续集成、部署 handler.SetUpCIDGroup(r) // CID,持续集成、部署
handler.SetUpToolGroup(r) // Tool handler.SetUpToolGroup(r) // Tool
r.Run(":8083") // listen and serve on 0.0.0.0:8083
defer dao.Close() defer dao.Close()
defer worker.CloseRedis() defer worker.CloseRedis()
r.Run(":8083") // listen and serve on 0.0.0.0:8083
} }
func init() { func init() {
// 创建cid的目录 // 创建cid的目录