diff --git a/controller/controller.go b/controller/controller.go index 4ec7c4fc..4dbc609a 100644 --- a/controller/controller.go +++ b/controller/controller.go @@ -6,6 +6,7 @@ import ( "fmt" "log" "net/http" + "os" "strings" "time" @@ -34,7 +35,10 @@ func init() { // Handle creates the router and starts the server func Handle() { cfg := config.Get() - router := CreateRouter(cfg) + var router http.Handler = CreateRouter(cfg) + if os.Getenv("ENVIRONMENT") == "dev" { + router = developmentCorsHandler(router) + } server := &http.Server{ Addr: fmt.Sprintf("%s:%d", cfg.Web.Address, cfg.Web.Port), Handler: router, diff --git a/controller/cors.go b/controller/cors.go new file mode 100644 index 00000000..7e938d47 --- /dev/null +++ b/controller/cors.go @@ -0,0 +1,10 @@ +package controller + +import "net/http" + +func developmentCorsHandler(next http.Handler) http.Handler { + return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + w.Header().Set("Access-Control-Allow-Origin", "http://localhost:8081") + next.ServeHTTP(w, r) + }) +}