Нет описания

Bo-Yi Wu 764baefb88 update readme for relase v1.0 10 лет назад
examples 764baefb88 update readme for relase v1.0 10 лет назад
.gitignore dbe5075495 add git ignore file. 10 лет назад
.travis.yml aaa5473637 update testing version to 1.7.3 10 лет назад
LICENSE 14d8c87c42 add MIT License. 10 лет назад
README.md 764baefb88 update readme for relase v1.0 10 лет назад
config.go 858b4d41a5 import stable version of gin. 10 лет назад
cors.go 858b4d41a5 import stable version of gin. 10 лет назад
cors_test.go 858b4d41a5 import stable version of gin. 10 лет назад
utils.go ee70b8845a Renames some options 11 лет назад

README.md

CORS gin's middleware

Build Status codecov Go Report Card GoDoc

Gin middleware/handler to enable CORS support.

Usage

Start using it

  1. Download and install it:
$ go get gopkg.in/gin-contrib/cors.v1
  1. Import it in your code:
import "gopkg.in/gin-contrib/cors.v1"

Canonical example:

package main

import (
	"time"

	"gopkg.in/gin-contrib/cors.v1"
	"gopkg.in/gin-gonic/gin.v1"
)

func main() {
	router := gin.Default()
	// CORS for https://foo.com and https://github.com origins, allowing:
	// - PUT and PATCH methods
	// - Origin header
	// - Credentials share
	// - Preflight requests cached for 12 hours
	router.Use(cors.New(cors.Config{
		AllowOrigins:     []string{"https://foo.com"},
		AllowMethods:     []string{"PUT", "PATCH"},
		AllowHeaders:     []string{"Origin"},
		ExposeHeaders:    []string{"Content-Length"},
		AllowCredentials: true,
		AllowOriginFunc: func(origin string) bool {
			return origin == "https://github.com"
		},
		MaxAge: 12 * time.Hour,
	}))
	router.Run()
}

Using DefaultConfig as start point

func main() {
	router := gin.Default()
	// - No origin allowed by default
	// - GET,POST, PUT, HEAD methods
	// - Credentials share disabled
	// - Preflight requests cached for 12 hours
	config := cors.DefaultConfig()
	config.AllowOrigins = []string{"http://google.com"}
	config.AddAllowOrigins("http://facebook.com")
	// config.AllowOrigins == []string{"http://google.com", "http://facebook.com"}

	router.Use(cors.New(config))
	router.Run()
}

Default() allows all origins

func main() {
	router := gin.Default()
	// same as
	// config := cors.DefaultConfig()
	// config.AllowAllOrigins = true
	// router.Use(cors.New(config))
	router.Use(cors.Default())
	router.Run()
}