Merge pull request #321 from sosedoff/cors

Add support for CORS
This commit is contained in:
Dan Sosedoff 2017-11-18 21:49:07 -06:00 committed by GitHub
commit 97e31b6c47
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 14 additions and 0 deletions

View File

@ -76,3 +76,11 @@ func serveResult(result interface{}, err error, c *gin.Context) {
c.JSON(200, result)
}
func corsMiddleware() gin.HandlerFunc {
return func(c *gin.Context) {
c.Header("Access-Control-Allow-Methods", "GET, POST, OPTIONS")
c.Header("Access-Control-Expose-Headers", "*")
c.Header("Access-Control-Allow-Origin", command.Opts.CorsOrigin)
}
}

View File

@ -10,6 +10,10 @@ func SetupMiddlewares(group *gin.RouterGroup) {
group.Use(requestInspectMiddleware())
}
if command.Opts.Cors {
group.Use(corsMiddleware())
}
group.Use(dbCheckMiddleware())
}

View File

@ -36,6 +36,8 @@ type Options struct {
ConnectHeaders string `long:"connect-headers" description:"List of headers to pass to the connect backend"`
DisableConnectionIdleTimeout bool `long:"no-idle-timeout" description:"Disable connection idle timeout" default:"false"`
ConnectionIdleTimeout float64 `long:"idle-timeout" description:"Set connection idle timeout in minutes" default:"180"`
Cors bool `long:"cors" description:"Enable Cross-Origin Resource Sharing (CORS)" default:"false"`
CorsOrigin string `long:"cors-origin" description:"Allowed CORS origins" default:"*"`
}
var Opts Options