middleware.go 947 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. package controller
  2. import (
  3. "fmt"
  4. "github.com/gin-gonic/gin"
  5. "net/http"
  6. "trading-go/response"
  7. "trading-go/util"
  8. )
  9. // Cors 跨域问题
  10. func Cors(c *gin.Context) {
  11. method := c.Request.Method
  12. c.Header("Access-Control-Allow-Origin", c.GetHeader("Origin"))
  13. fmt.Println(c.GetHeader("Origin"))
  14. c.Header("Access-Control-Allow-Methods", "POST, GET, PUT, DELETE, OPTIONS")
  15. c.Header("Access-Control-Allow-Headers", "Content-Type, Content-Length, Token")
  16. c.Header("Access-Control-Expose-Headers", "Access-Control-Allow-Headers, Token")
  17. c.Header("Access-Control-Allow-Credentials", "true")
  18. if method == "OPTIONS" {
  19. c.AbortWithStatus(http.StatusNoContent)
  20. return
  21. }
  22. c.Next()
  23. }
  24. // VerifyToken 验证token
  25. func VerifyToken(c *gin.Context) {
  26. var tokenString string
  27. tokenString = c.GetHeader("token")
  28. t, _, _ := util.ParseToken(tokenString)
  29. if t.Valid {
  30. c.Next()
  31. } else {
  32. response.Fail(c.Writer, "token lapsed", 400)
  33. c.Abort()
  34. }
  35. }