|
|
@@ -5,9 +5,9 @@ import (
|
|
|
"mtp2_if/controllers/wrtrade"
|
|
|
"mtp2_if/logger"
|
|
|
"mtp2_if/token"
|
|
|
+ "net/http"
|
|
|
"time"
|
|
|
|
|
|
- "github.com/gin-contrib/cors"
|
|
|
"github.com/gin-gonic/gin"
|
|
|
|
|
|
// Swagger生成的文档
|
|
|
@@ -24,8 +24,8 @@ func InitRouter() *gin.Engine {
|
|
|
r.Use(ginLoggerMiddleware())
|
|
|
// 设置奔溃中间件
|
|
|
r.Use(ginRecoveryMiddleware())
|
|
|
- // 跨域.
|
|
|
- r.Use(cors.Default())
|
|
|
+ // 跨域
|
|
|
+ r.Use(CORSMiddleware())
|
|
|
// Swagger
|
|
|
r.GET("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler))
|
|
|
|
|
|
@@ -77,3 +77,20 @@ func ginLoggerMiddleware() gin.HandlerFunc {
|
|
|
func ginRecoveryMiddleware() gin.HandlerFunc {
|
|
|
return gin.RecoveryWithWriter(logger.GetLogWriter())
|
|
|
}
|
|
|
+
|
|
|
+// CORSMiddleware cors跨域.
|
|
|
+func CORSMiddleware() gin.HandlerFunc {
|
|
|
+ return func(c *gin.Context) {
|
|
|
+ c.Writer.Header().Set("Access-Control-Allow-Origin", "*")
|
|
|
+ c.Writer.Header().Set("Access-Control-Allow-Credentials", "true")
|
|
|
+ c.Writer.Header().Set("Access-Control-Allow-Headers", "Content-Type, Content-Length, Accept-Encoding, X-CSRF-Token, Authorization, accept, origin, Cache-Control, X-Requested-With, X-session-Token")
|
|
|
+ c.Writer.Header().Set("Access-Control-Allow-Methods", "POST, OPTIONS, GET, PUT")
|
|
|
+ c.Writer.Header().Set("Access-Control-Expose-Headers", "Content-Length, Access-Control-Allow-Origin, Access-Control-Allow-Headers, Content-Type, X-session-Token")
|
|
|
+ if c.Request.Method == "OPTIONS" {
|
|
|
+ c.AbortWithStatus(http.StatusNoContent)
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ c.Next()
|
|
|
+ }
|
|
|
+}
|