Add support for CORS

This commit is contained in:
Dan Sosedoff 2017-11-15 15:26:31 -06:00
parent d65f8eb0f5
commit b52394a166
3 changed files with 13 additions and 0 deletions

View File

@ -76,3 +76,11 @@ func serveResult(result interface{}, err error, c *gin.Context) {
c.JSON(200, result) 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-Allow-Origin", "*")
c.Header("Access-Control-Expose-Headers", "*")
}
}

View File

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

View File

@ -36,6 +36,7 @@ type Options struct {
ConnectHeaders string `long:"connect-headers" description:"List of headers to pass to the connect backend"` 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"` 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"` 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"`
} }
var Opts Options var Opts Options