From 2ed4b14cf153da8b8b21b0b7f105152ac2277f6d Mon Sep 17 00:00:00 2001 From: Chris Cromer Date: Tue, 31 Jan 2023 23:06:45 -0300 Subject: [PATCH] add cors middleware --- backend/middlewares/cors.go | 17 +++++++++++++++++ backend/routes/router.go | 2 ++ 2 files changed, 19 insertions(+) create mode 100644 backend/middlewares/cors.go 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{})