Žiadny popis

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

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