mirror of
https://github.com/inexio/thola.git
synced 2026-10-24 03:08:55 +03:00
24 lines
487 B
Go
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)
|
|
}
|
|
}
|
|
}
|