diff --git a/backend/middlewares/cors.go b/backend/middlewares/cors.go new file mode 100644 index 0000000..a6a0f85 --- /dev/null +++ b/backend/middlewares/cors.go @@ -0,0 +1,17 @@ +package middlewares + +import ( + "net/http" +) + +func Cors(handler http.Handler) http.Handler { + return http.HandlerFunc(func(writer http.ResponseWriter, request *http.Request) { + origin := request.Header.Get("Origin") + + switch origin { + case "http://localhost:5173", "http://localhost", "https://alai.cromer.cl": + writer.Header().Set("Access-Control-Allow-Origin", origin) + writer.Header().Set("Access-Control-Allow-Headers", "Content-Type") + } + }) +} diff --git a/backend/routes/router.go b/backend/routes/router.go index 2b89b17..e790ded 100644 --- a/backend/routes/router.go +++ b/backend/routes/router.go @@ -9,6 +9,7 @@ import ( "os/signal" "syscall" + "git.cromer.cl/Proyecto-Titulo/alai-server/backend/middlewares" "github.com/gorilla/handlers" "github.com/julienschmidt/httprouter" ) @@ -26,6 +27,7 @@ func Initialize() *httprouter.Router { func Serve(router *httprouter.Router) { newRouter := handlers.CombinedLoggingHandler(os.Stdout, router) newRouter = handlers.CompressHandler(newRouter) + newRouter = middlewares.Cors(newRouter) idleConnsClosed := make(chan struct{})