暫無描述

Manu Mtz.-Almeida e39b91a5da Adds some documentation and README 10 年之前
examples e39b91a5da Adds some documentation and README 10 年之前
README.md e39b91a5da Adds some documentation and README 10 年之前
config.go ee70b8845a Renames some options 10 年之前
cors.go ee70b8845a Renames some options 10 年之前
cors_test.go ee70b8845a Renames some options 10 年之前
utils.go ee70b8845a Renames some options 10 年之前

README.md

CORS gin's middleware

Gin middleware/handler to enable CORS support.

Usage

###Canonical example:

package main

import (
	"time"

	"github.com/gin-contrib/cors"
	"github.com/gin-gonic/gin"
)

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

    router := gin.Default()
    // same as
    // config := cors.DefaultConfig()
    // config.AllowAllOrigins = true
    // router.Use(cors.Default())
    router.Use(cors.Default())
    router.Run()