Files
ezbookkeeping/pkg/middlewares/request_id.go
T
2025-08-04 20:54:10 +08:00

24 lines
615 B
Go

package middlewares
import (
"github.com/mayswind/ezbookkeeping/pkg/core"
"github.com/mayswind/ezbookkeeping/pkg/requestid"
"github.com/mayswind/ezbookkeeping/pkg/settings"
)
const requestIdHeader = "X-Request-ID"
// RequestId generates a new request id and add it to context and response header
func RequestId(config *settings.Config) core.MiddlewareHandlerFunc {
return func(c *core.WebContext) {
requestId := requestid.Container.GenerateRequestId(c.ClientIP(), c.ClientPort())
c.SetContextId(requestId)
if config.EnableRequestIdHeader {
c.Header(requestIdHeader, requestId)
}
c.Next()
}
}