1
0
mirror of https://github.com/inexio/thola.git synced 2026-10-24 03:08:55 +03:00
Files
thola/api/request_id.go
2021-03-01 13:16:55 +01:00

24 lines
487 B
Go

package api
import (
"github.com/labstack/echo/v4"
"github.com/rs/xid"
)
func requestIDMiddleware() echo.MiddlewareFunc {
return func(next echo.HandlerFunc) echo.HandlerFunc {
return func(c echo.Context) error {
req := c.Request()
res := c.Response()
rid := req.Header.Get(echo.HeaderXRequestID)
if rid == "" {
rid = xid.New().String()
req.Header.Set(echo.HeaderXRequestID, rid)
}
res.Header().Set(echo.HeaderXRequestID, rid)
return next(c)
}
}
}