package middleware import "github.com/gin-gonic/gin" type params struct { TimeZone string `header:"Time-Zone"` } func Params() gin.HandlerFunc { return func(c *gin.Context) { var ( err error p params ) defer func() { if err != nil { c.Abort() return } else { c.Next() } }() err = c.ShouldBindHeader(&p) if err != nil { return } c.Set("time-zone", p.TimeZone) } }