cors.go 620 B

1234567891011121314151617181920212223
  1. package middleware
  2. import (
  3. "github.com/gin-gonic/gin"
  4. "net/http"
  5. )
  6. func CORSMiddleware() gin.HandlerFunc {
  7. return func(c *gin.Context) {
  8. method := c.Request.Method
  9. c.Header("Access-Control-Allow-Origin", c.GetHeader("Origin"))
  10. c.Header("Access-Control-Allow-Credentials", "true")
  11. if method == "OPTIONS" {
  12. c.Header("Access-Control-Allow-Methods", c.GetHeader("Access-Control-Request-Method"))
  13. c.Header("Access-Control-Allow-Headers", c.GetHeader("Access-Control-Request-Headers"))
  14. c.Header("Access-Control-Max-Age", "7200")
  15. c.AbortWithStatus(http.StatusNoContent)
  16. return
  17. }
  18. c.Next()
  19. }
  20. }