From 511ded8a9e0f9045364eef990c4e987303738ab7 Mon Sep 17 00:00:00 2001 From: Rostislav Dugin Date: Fri, 6 Jun 2025 18:43:49 +0300 Subject: [PATCH] FEATURE (cors): Add CORS --- backend/cmd/main.go | 22 ++++++++++++++++++++++ backend/go.mod | 1 + backend/go.sum | 2 ++ 3 files changed, 25 insertions(+) diff --git a/backend/cmd/main.go b/backend/cmd/main.go index 26ec163..b1fc05b 100644 --- a/backend/cmd/main.go +++ b/backend/cmd/main.go @@ -25,6 +25,7 @@ import ( "postgresus-backend/internal/util/logger" _ "postgresus-backend/swagger" // swagger docs + "github.com/gin-contrib/cors" "github.com/gin-gonic/gin" swaggerFiles "github.com/swaggo/files" ginSwagger "github.com/swaggo/gin-swagger" @@ -50,6 +51,27 @@ func main() { gin.SetMode(gin.ReleaseMode) ginApp := gin.Default() + // Setup CORS + ginApp.Use(cors.New(cors.Config{ + AllowOrigins: []string{"*"}, + AllowMethods: []string{"GET", "POST", "PUT", "PATCH", "DELETE", "HEAD", "OPTIONS"}, + AllowHeaders: []string{ + "Origin", + "Content-Length", + "Content-Type", + "Authorization", + "Accept", + "Accept-Language", + "Accept-Encoding", + "Access-Control-Request-Method", + "Access-Control-Request-Headers", + "Access-Control-Allow-Methods", + "Access-Control-Allow-Headers", + "Access-Control-Allow-Origin", + }, + AllowCredentials: true, + })) + setUpRoutes(ginApp) setUpDependencies() runBackgroundTasks(log) diff --git a/backend/go.mod b/backend/go.mod index a542cbe..1ebafd4 100644 --- a/backend/go.mod +++ b/backend/go.mod @@ -20,6 +20,7 @@ require ( github.com/davecgh/go-spew v1.1.1 // indirect github.com/dustin/go-humanize v1.0.1 // indirect github.com/gabriel-vasile/mimetype v1.4.9 // indirect + github.com/gin-contrib/cors v1.7.5 // indirect github.com/gin-contrib/sse v1.1.0 // indirect github.com/gin-gonic/gin v1.10.0 // indirect github.com/go-ini/ini v1.67.0 // indirect diff --git a/backend/go.sum b/backend/go.sum index 9d90fde..385298e 100644 --- a/backend/go.sum +++ b/backend/go.sum @@ -24,6 +24,8 @@ github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkp github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto= github.com/gabriel-vasile/mimetype v1.4.9 h1:5k+WDwEsD9eTLL8Tz3L0VnmVh9QxGjRmjBvAG7U/oYY= github.com/gabriel-vasile/mimetype v1.4.9/go.mod h1:WnSQhFKJuBlRyLiKohA/2DtIlPFAbguNaG7QCHcyGok= +github.com/gin-contrib/cors v1.7.5 h1:cXC9SmofOrRg0w9PigwGlHG3ztswH6bqq4vJVXnvYMk= +github.com/gin-contrib/cors v1.7.5/go.mod h1:4q3yi7xBEDDWKapjT2o1V7mScKDDr8k+jZ0fSquGoy0= github.com/gin-contrib/sse v1.1.0 h1:n0w2GMuUpWDVp7qSpvze6fAu9iRxJY4Hmj6AmBOU05w= github.com/gin-contrib/sse v1.1.0/go.mod h1:hxRZ5gVpWMT7Z0B0gSNYqqsSCNIJMjzvm6fqCz9vjwM= github.com/gin-gonic/gin v1.10.0 h1:nTuyha1TYqgedzytsKYqna+DfLos46nTv2ygFy86HFU=