aboutsummaryrefslogtreecommitdiff
path: root/echo/middleware/vary.go
diff options
context:
space:
mode:
Diffstat (limited to 'echo/middleware/vary.go')
-rw-r--r--echo/middleware/vary.go24
1 files changed, 24 insertions, 0 deletions
diff --git a/echo/middleware/vary.go b/echo/middleware/vary.go
new file mode 100644
index 0000000..8f87d29
--- /dev/null
+++ b/echo/middleware/vary.go
@@ -0,0 +1,24 @@
1package middleware
2
3import (
4 "github.com/labstack/echo/v4"
5)
6
7type VaryConfig struct {
8 Vary []string
9}
10
11func VaryCookie() echo.MiddlewareFunc {
12 return VaryWithConfig(VaryConfig{Vary: []string{"Cookie"}})
13}
14
15func VaryWithConfig(cfg VaryConfig) echo.MiddlewareFunc {
16 return func(next echo.HandlerFunc) echo.HandlerFunc {
17 return func(c echo.Context) error {
18 for _, v := range cfg.Vary {
19 c.Response().Header().Add(echo.HeaderVary, v)
20 }
21 return next(c)
22 }
23 }
24}