Skip to content

Commit b613d98

Browse files
Merge pull request #17 from DoWithLogic/feat/add-cors
chore: add cors for echo to accept required headers
2 parents 5cd14c9 + 63258b0 commit b613d98

File tree

5 files changed

+24
-2
lines changed

5 files changed

+24
-2
lines changed

go.mod

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ require (
1818
require (
1919
github.com/davecgh/go-spew v1.1.1 // indirect
2020
github.com/fsnotify/fsnotify v1.6.0 // indirect
21+
github.com/golang-jwt/jwt v3.2.2+incompatible // indirect
2122
github.com/hashicorp/hcl v1.0.0 // indirect
2223
github.com/labstack/gommon v0.4.0 // indirect
2324
github.com/lib/pq v1.10.9 // indirect
@@ -39,6 +40,7 @@ require (
3940
golang.org/x/net v0.12.0 // indirect
4041
golang.org/x/sys v0.12.0 // indirect
4142
golang.org/x/text v0.13.0 // indirect
43+
golang.org/x/time v0.3.0 // indirect
4244
gopkg.in/ini.v1 v1.67.0 // indirect
4345
gopkg.in/yaml.v3 v3.0.1 // indirect
4446
)

go.sum

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,8 @@ github.com/go-sql-driver/mysql v1.6.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LB
7272
github.com/go-sql-driver/mysql v1.7.1 h1:lUIinVbN1DY0xBg0eMOzmmtGoHwWBbvnWubQUrtU8EI=
7373
github.com/go-sql-driver/mysql v1.7.1/go.mod h1:OXbVy3sEdcQ2Doequ6Z5BW6fXNQTmx+9S1MCJN5yJMI=
7474
github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
75+
github.com/golang-jwt/jwt v3.2.2+incompatible h1:IfV12K8xAKAnZqdXVzCZ+TOjboZ2keLg81eXfW3O+oY=
76+
github.com/golang-jwt/jwt v3.2.2+incompatible/go.mod h1:8pz2t5EyA70fFQQSrl6XZXzqecmYZeUEB8OUGHkxJ+I=
7577
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
7678
github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
7779
github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
@@ -374,6 +376,8 @@ golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
374376
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
375377
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
376378
golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
379+
golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4=
380+
golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
377381
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
378382
golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
379383
golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY=

internal/app/app.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import (
1010

1111
"github.com/DoWithLogic/golang-clean-architecture/config"
1212
"github.com/DoWithLogic/golang-clean-architecture/pkg/datasource"
13+
"github.com/DoWithLogic/golang-clean-architecture/pkg/middleware"
1314
"github.com/DoWithLogic/golang-clean-architecture/pkg/otel/zerolog"
1415
"github.com/jmoiron/sqlx"
1516
"github.com/labstack/echo/v4"
@@ -44,6 +45,7 @@ func (app *App) Start() error {
4445
}
4546

4647
app.Echo.Debug = app.Cfg.Server.Debug
48+
app.Echo.Use(middleware.AppCors())
4749

4850
return app.Echo.StartServer(&http.Server{
4951
Addr: fmt.Sprintf(":%s", app.Cfg.Server.RESTPort),

pkg/middleware/cors.go

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
package middleware
2+
3+
import (
4+
"github.com/labstack/echo/v4"
5+
"github.com/labstack/echo/v4/middleware"
6+
)
7+
8+
func AppCors() echo.MiddlewareFunc {
9+
return middleware.CORSWithConfig(middleware.CORSConfig{
10+
AllowOrigins: []string{"*"}, // Specify the allowed origins or use a list of allowed domains
11+
AllowMethods: []string{echo.GET, echo.HEAD, echo.PUT, echo.PATCH, echo.POST, echo.DELETE},
12+
AllowHeaders: []string{echo.HeaderOrigin, echo.HeaderContentType, echo.HeaderAccept, echo.HeaderAuthorization},
13+
})
14+
}

pkg/otel/zerolog/zerolog.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,8 @@ func NewZeroLog(ctx context.Context, c ...io.Writer) *Logger {
4949
}
5050

5151
dir := os.TempDir()
52-
tempOUT, _ := os.Create(dir + "/loan-" + logID + "-out.log")
53-
tempERR, _ := os.Create(dir + "/loan-" + logID + "-err.log")
52+
tempOUT, _ := os.Create(dir + "/golang-clean-architecture-" + logID + "-out.log")
53+
tempERR, _ := os.Create(dir + "/golang-clean-architecture-" + logID + "-err.log")
5454

5555
return &Logger{log.New(z, "", 0), z, tempOUT, tempERR}
5656
}

0 commit comments

Comments
 (0)