github.com/zhangdapeng520/zdpgo_gin_cors

为zdpgo_gin框架提供跨域解决方案


License
Apache-2.0
Install
go get github.com/zhangdapeng520/zdpgo_gin_cors

Documentation

zdpgo_gin_cors

为zdpgo_gin框架提供跨域解决方案

安装

go get github.com/zhangdapeng520/zdpgo_gin_cors

使用教程

详细的配置

package 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()
}

版本历史

v0.1.0

  • 基础代码