为zdpgo_gin框架提供跨域解决方案
go get github.com/zhangdapeng520/zdpgo_gin_corspackage main
import (
"time"
gin "github.com/zhangdapeng520/zdpgo_gin"
cors "github.com/zhangdapeng520/zdpgo_gin_cors"
)
func main() {
router := gin.Default()
// 比较详细的跨域配置
router.Use(cors.New(cors.Config{
AllowOrigins: []string{"https://foo.com"}, // 允许的域名
AllowMethods: []string{"PUT", "PATCH"}, // 允许的方法
AllowHeaders: []string{"Origin"}, // 允许的请求头
ExposeHeaders: []string{"Content-Length"}, // 暴露的请求头
AllowCredentials: true, // 请求是否可以包含用户凭证,如cookie、HTTP身份验证或客户端SSL证书
AllowOriginFunc: func(origin string) bool { // 允许的域名回调,会让 AllowOrigins 失效
return origin == "https://github.com"
},
MaxAge: 12 * time.Hour, // 请求结果的缓存时间
}))
router.Run()
}package main
import (
gin "github.com/zhangdapeng520/zdpgo_gin"
cors "github.com/zhangdapeng520/zdpgo_gin_cors"
)
func main() {
router := gin.Default()
// 使用默认的配置
config := cors.DefaultConfig()
config.AllowOrigins = []string{"http://google.com"}
// config.AllowOrigins = []string{"http://google.com", "http://facebook.com"}
// config.AllowAllOrigins = true
router.Use(cors.New(config))
router.Run()
}package main
import (
gin "github.com/zhangdapeng520/zdpgo_gin"
cors "github.com/zhangdapeng520/zdpgo_gin_cors"
)
func main() {
router := gin.Default()
router.Use(cors.Default()) // 默认允许所有域名
router.Run()
}- 基础代码