Skip to content

Commit

Permalink
refactor(config)!: move areas and global middlewares under router
Browse files Browse the repository at this point in the history
  • Loading branch information
iagapie committed Nov 8, 2024
1 parent 3930f34 commit 5d0f675
Show file tree
Hide file tree
Showing 4 changed files with 26 additions and 22 deletions.
18 changes: 11 additions & 7 deletions config.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,6 @@ import (

type MiddlewaresConfig struct {
fx.Out
Router struct {
Before []string `json:"before,omitempty" yaml:"before,omitempty"`
After []string `json:"after,omitempty" yaml:"after,omitempty"`
} `json:"router,omitempty" yaml:"router,omitempty"`
Recover RecoverConfig `json:"recover,omitempty" yaml:"recover,omitempty"`
BodyLimit BodyLimitConfig `json:"bodyLimit,omitempty" yaml:"bodyLimit,omitempty"`
Compress GzipConfig `json:"compress,omitempty" yaml:"compress,omitempty"`
Expand Down Expand Up @@ -63,10 +59,18 @@ type RoleHierarchyConfig struct {
Children []string `json:"children,omitempty" yaml:"children,omitempty"`
}

type RouterConfig struct {
Middlewares struct {
Before []string `json:"before,omitempty" yaml:"before,omitempty"`
After []string `json:"after,omitempty" yaml:"after,omitempty"`
} `json:"middlewares,omitempty" yaml:"middlewares,omitempty"`
Areas map[string]AreaConfig `json:"areas,omitempty" yaml:"areas,omitempty"`
}

type Config struct {
Security rbac.Config `json:"security,omitempty" yaml:"security,omitempty"`
Middlewares MiddlewaresConfig `json:"middlewares,omitempty" yaml:"middlewares,omitempty"`
Areas map[string]AreaConfig `json:"areas,omitempty" yaml:"areas,omitempty"`
Security rbac.Config `json:"security,omitempty" yaml:"security,omitempty"`
Middlewares MiddlewaresConfig `json:"middlewares,omitempty" yaml:"middlewares,omitempty"`
Router RouterConfig `json:"router,omitempty" yaml:"router,omitempty"`
}

type SameSiteType string
Expand Down
6 changes: 3 additions & 3 deletions echo.go
Original file line number Diff line number Diff line change
Expand Up @@ -73,19 +73,19 @@ func NewEcho(params EchoParams) *echo.Echo {
apiHandlers[key] = append(apiHandlers[key], apiHandler)
}

for _, name := range params.Config.Middlewares.Router.Before {
for _, name := range params.Config.Router.Middlewares.Before {
if middleware, ok := middlewares[name]; ok {
e.Pre(middleware)
}
}

for _, name := range params.Config.Middlewares.Router.After {
for _, name := range params.Config.Router.Middlewares.After {
if middleware, ok := middlewares[name]; ok {
e.Use(middleware)
}
}

for area, cfg := range params.Config.Areas {
for area, cfg := range params.Config.Router.Areas {
if !cfg.Enabled {
continue
}
Expand Down
8 changes: 4 additions & 4 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -25,10 +25,10 @@ require (
github.com/valyala/fasttemplate v1.2.2 // indirect
go.uber.org/dig v1.18.0 // indirect
go.uber.org/multierr v1.11.0 // indirect
golang.org/x/crypto v0.28.0 // indirect
golang.org/x/crypto v0.29.0 // indirect
golang.org/x/net v0.30.0 // indirect
golang.org/x/sys v0.26.0 // indirect
golang.org/x/text v0.19.0 // indirect
golang.org/x/time v0.7.0 // indirect
golang.org/x/sys v0.27.0 // indirect
golang.org/x/text v0.20.0 // indirect
golang.org/x/time v0.8.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
)
16 changes: 8 additions & 8 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -42,18 +42,18 @@ go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0=
go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y=
go.uber.org/zap v1.27.0 h1:aJMhYGrd5QSmlpLMr2MftRKl7t8J8PTZPA732ud/XR8=
go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E=
golang.org/x/crypto v0.28.0 h1:GBDwsMXVQi34v5CCYUm2jkJvu4cbtru2U4TN2PSyQnw=
golang.org/x/crypto v0.28.0/go.mod h1:rmgy+3RHxRZMyY0jjAJShp2zgEdOqj2AO7U0pYmeQ7U=
golang.org/x/crypto v0.29.0 h1:L5SG1JTTXupVV3n6sUqMTeWbjAyfPwoda2DLX8J8FrQ=
golang.org/x/crypto v0.29.0/go.mod h1:+F4F4N5hv6v38hfeYwTdx20oUvLLc+QfrE9Ax9HtgRg=
golang.org/x/net v0.30.0 h1:AcW1SDZMkb8IpzCdQUaIq2sP4sZ4zw+55h6ynffypl4=
golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU=
golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo=
golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM=
golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY=
golang.org/x/time v0.7.0 h1:ntUhktv3OPE6TgYxXWv9vKvUSJyIFJlyohwbkEwPrKQ=
golang.org/x/time v0.7.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM=
golang.org/x/sys v0.27.0 h1:wBqf8DvsY9Y/2P8gAfPDEYNuS30J4lPHJxXSb/nJZ+s=
golang.org/x/sys v0.27.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/text v0.20.0 h1:gK/Kv2otX8gz+wn7Rmb3vT96ZwuoxnQlY+HlJVj7Qug=
golang.org/x/text v0.20.0/go.mod h1:D4IsuqiFMhST5bX19pQ9ikHC2GsaKyk/oF+pn3ducp4=
golang.org/x/time v0.8.0 h1:9i3RxcPv3PZnitoVGMPDKZSq1xW1gK1Xy3ArNOGZfEg=
golang.org/x/time v0.8.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
Expand Down

0 comments on commit 5d0f675

Please sign in to comment.