cros.go 824B

12345678910111213141516171819202122232425
  1. package controllers
  2. // Options 解决跨域先发送 options
  3. func (c *BaseController) Options() {
  4. c.ResponseJSON("")
  5. }
  6. // crosPolicy 跨域策略
  7. func (c *BaseController) crosPolicy() {
  8. appConf, ok := c.Configer[AppConf]
  9. if ok {
  10. runMode := appConf.String("runmode")
  11. allowMode := appConf.String("cros::allowMode")
  12. allowMethods := appConf.String("cros::allowMethods")
  13. allowOrigin := appConf.String("cros::allowOrigin")
  14. allowCredentials := appConf.String("cros::allowCredentials")
  15. if runMode == allowMode {
  16. c.Ctx.Output.Header("Access-Control-Allow-Origin", allowOrigin)
  17. c.Ctx.Output.Header("Access-Control-Allow-Methods", allowMethods)
  18. c.Ctx.Output.Header("Access-Control-Allow-Credentials", allowCredentials)
  19. c.Ctx.Output.Header("Access-Control-Allow-Headers", "X-Token,Authorization")
  20. }
  21. }
  22. }