func NewHandler(ctx cmds.Context, root *cmds.Command, cfg *ServerConfig) *Handler { if cfg == nil { panic("must provide a valid ServerConfig") } // Wrap the internal handler with CORS handling-middleware. // Create a handler for the API. internal := internalHandler{ctx, root, cfg} c := cors.New(*cfg.CORSOpts) return &Handler{internal, c.Handler(internal)} }
func main() { c := cors.New(cors.Options{ AllowedOrigins: []string{"http://foo.com"}, }) handler := http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { w.Header().Set("Content-Type", "application/json") w.Write([]byte("{\"hello\": \"world\"}")) }) http.ListenAndServe(":8080", c.Handler(handler)) }
func main() { c := cors.New(cors.Options{ AllowedOrigins: []string{"http://foo.com"}, }) goji.Use(c.Handler) goji.Get("/", func(w http.ResponseWriter, r *http.Request) { w.Header().Set("Content-Type", "application/json") w.Write([]byte("{\"hello\": \"world\"}")) }) goji.Serve() }
func main() { c := cors.New(cors.Options{ AllowedOrigins: []string{"*"}, AllowedMethods: []string{"GET", "POST", "PUT", "DELETE"}, AllowCredentials: true, }) h := http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { w.Header().Set("Content-Type", "application/json") w.Write([]byte("{\"hello\": \"world\"}")) }) http.ListenAndServe(":8080", c.Handler(h)) }
func main() { c := cors.New(cors.Options{ AllowedOrigins: []string{"http://foo.com"}, }) m := martini.Classic() m.Use(render.Renderer()) m.Use(c.HandlerFunc) m.Get("/", func(r render.Render) { r.JSON(200, map[string]interface{}{"hello": "world"}) }) m.Run() }
func main() { c := cors.New(cors.Options{ AllowedOrigins: []string{"http://foo.com"}, }) mux := http.NewServeMux() mux.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { w.Header().Set("Content-Type", "application/json") w.Write([]byte("{\"hello\": \"world\"}")) }) chain := alice.New(c.Handler).Then(mux) http.ListenAndServe(":8080", chain) }
func main() { c := cors.New(cors.Options{ AllowedOrigins: []string{"http://foo.com"}, }) mux := http.NewServeMux() mux.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { w.Header().Set("Content-Type", "application/json") w.Write([]byte("{\"hello\": \"world\"}")) }) n := negroni.Classic() n.Use(c) n.UseHandler(mux) n.Run(":3000") }