cors/examples/example.go

30 lines
703 B
Go
Raw Permalink Normal View History

2015-11-12 15:14:49 +01:00
package main
import (
"time"
"github.com/gin-contrib/cors"
2017-03-18 13:45:46 +01:00
"github.com/gin-gonic/gin"
2015-11-12 15:14:49 +01:00
)
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()
}