jyq 5 лет назад
Родитель
Сommit
12ae2f470e
2 измененных файлов с 29 добавлено и 0 удалено
  1. 1 0
      main.go
  2. 28 0
      middleware/cors.go

+ 1 - 0
main.go

@@ -90,6 +90,7 @@ func main() {
 		middleware.ErrorResponse(),
 		middleware.Logger(),
 		middleware.Session(),
+		middleware.Cors(),
 	)
 	r.AutoRegisterController("/v1", &controller.Auth{})
 	r.AutoRegisterController("/v1", &controller.HrSensors{})

+ 28 - 0
middleware/cors.go

@@ -0,0 +1,28 @@
+/**
+ * @Author: JYQ
+ * @File: cors
+ * @Date: 2020/11/24 20:36
+ * @Desc:
+ */
+package middleware
+
+import (
+	"net/http"
+
+	"github.com/gin-gonic/gin"
+)
+
+func Cors() gin.HandlerFunc {
+	return func(context *gin.Context) {
+		method := context.Request.Method
+		context.Header("Access-Control-Allow-Origin", "*")
+		context.Header("Access-Control-Allow-Headers", "Content-Type,AccessToken,X-CSRF-Token, Authorization, Token")
+		context.Header("Access-Control-Allow-Methods", "POST, GET, OPTIONS")
+		context.Header("Access-Control-Expose-Headers", "Content-Length, Access-Control-Allow-Origin, Access-Control-Allow-Headers, Content-Type")
+		context.Header("Access-Control-Allow-Credentials", "true")
+		if method == "OPTIONS" {
+			context.AbortWithStatus(http.StatusNoContent)
+		}
+		context.Next()
+	}
+}