Skip to content

Commit f0ad74e

Browse files
committed
add skippers to middleware
1 parent 0e3bf4b commit f0ad74e

File tree

4 files changed

+32
-7
lines changed

4 files changed

+32
-7
lines changed

cmd/server.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -53,9 +53,9 @@ func runServer() {
5353
engine.Use(
5454
echomiddleware.Recover(),
5555
middleware.Logger(),
56-
middleware.SecureMiddleware(cfg.Security),
57-
middleware.CORSMiddleware(cfg.Security),
58-
echomiddleware.Gzip(),
56+
middleware.Secure(cfg.Security),
57+
middleware.CORS(cfg.Security),
58+
middleware.Gzip(),
5959
middleware.Context(dbPool, cfg),
6060
)
6161

pkg/transport/middleware/cors.go

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,18 @@ import (
66
"github.com/labstack/echo/v4/middleware"
77
)
88

9-
// CORSMiddleware returns an Echo middleware function for cors.
10-
func CORSMiddleware(cfg config.SecurityConfig) echo.MiddlewareFunc {
9+
// CORS returns an Echo middleware function for cors.
10+
func CORS(cfg config.SecurityConfig) echo.MiddlewareFunc {
1111
corsConfig := middleware.CORSConfig{
1212
AllowOrigins: cfg.AllowedHosts,
1313
AllowHeaders: []string{
1414
echo.HeaderOrigin,
1515
echo.HeaderContentType,
1616
echo.HeaderAccept,
1717
},
18+
Skipper: func(c echo.Context) bool {
19+
return c.Path() != "/*"
20+
},
1821
}
1922

2023
return middleware.CORSWithConfig(corsConfig)

pkg/transport/middleware/gzip.go

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package middleware
2+
3+
import (
4+
"github.com/labstack/echo/v4"
5+
"github.com/labstack/echo/v4/middleware"
6+
)
7+
8+
// Gzip returns an Echo middleware function for gzip.
9+
func Gzip() echo.MiddlewareFunc {
10+
gzipConfig := middleware.GzipConfig{
11+
Level: 0,
12+
MinLength: 0,
13+
Skipper: func(c echo.Context) bool {
14+
return c.Path() != "/static*"
15+
},
16+
}
17+
18+
return middleware.GzipWithConfig(gzipConfig)
19+
}

pkg/transport/middleware/secure.go

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,18 @@ import (
66
"github.com/labstack/echo/v4/middleware"
77
)
88

9-
// SecureMiddleware returns an Echo middleware function for cors.
10-
func SecureMiddleware(cfg config.SecurityConfig) echo.MiddlewareFunc {
9+
// Secure returns an Echo middleware function for cors.
10+
func Secure(cfg config.SecurityConfig) echo.MiddlewareFunc {
1111
secureConfig := middleware.SecureConfig{
1212
XSSProtection: cfg.XSSProtection,
1313
ContentTypeNosniff: cfg.ContentTypeNosniff,
1414
XFrameOptions: cfg.XFrameOptions,
1515
HSTSMaxAge: cfg.HSTSMaxAge,
1616
ContentSecurityPolicy: cfg.ContentSecurityPolicy,
1717
ReferrerPolicy: cfg.ReferrerPolicy,
18+
Skipper: func(c echo.Context) bool {
19+
return c.Path() != "/*"
20+
},
1821
}
1922

2023
return middleware.SecureWithConfig(secureConfig)

0 commit comments

Comments
 (0)