martini-contrib/cors

Access-Control-Allow-Origin not being passed back to client

vastbinderj opened this issue · 0 comments

Why is the CORS middleware not working for me? I am absolutely stumped.

I'm trying to connect an Angular up up to my REST API. I've written this much smaller app which should just return POST

func App() *martini.ClassicMartini {
    m := martini.Classic()
    m.Use(render.Renderer())

    options := &cors.Options{
        AllowAllOrigins: true,
        AllowMethods: []string{"GET", "POST", "PUT", "PATCH", "DELETE"},
    }
    m.Use(cors.Allow(options))

    m.Group("/visitor", func(r martini.Router) {
        r.Get("/:id", Get)
        r.Get("", All)
        r.Post("/:id", Post)
        r.Put("/:id", Put)
        r.Options("/**", func() { return })
    })

    return m
}

func Post(params martini.Params) string {
    fmt.Println(params)
    return "POST"
}

func main() {
    m := App()
    listen := fmt.Sprintf("%s:%d", "localhost", 3000)
    fmt.Printf("Simple listening on %s\n", listen)
    log.Fatal(http.ListenAndServe(listen, m))
}

image
image