3

I use gin-gonic's r.Static("files", "./files") to serve all files in the files directory. Is there a way to set headers for these file requests so I can allow CORS?

Zoyd
  • 3,449
  • 1
  • 18
  • 27
homeboy
  • 171
  • 12
  • https://stackoverflow.com/questions/29418478/go-gin-framework-cors/29439630#29439630 and https://github.com/itsjamie/gin-cors and https://skarlso.github.io/2016/02/02/doing-cors-in-go-with-gin-and-json/ – sideshowbarker Mar 30 '17 at 16:52

1 Answers1

3

There is an official Gin middleware providing this functionality.

A Good starting template (from their examples)

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()
}
Ezequiel Moreno
  • 2,228
  • 22
  • 27