fix: use existing x-header-id header if set (#16)
This commit is contained in:
+7
-2
@@ -15,6 +15,8 @@ import (
|
|||||||
const (
|
const (
|
||||||
customAttributesCtxKey = "slog-gin.custom-attributes"
|
customAttributesCtxKey = "slog-gin.custom-attributes"
|
||||||
requestIDCtx = "slog-gin.request-id"
|
requestIDCtx = "slog-gin.request-id"
|
||||||
|
// Formatted with http.CanonicalHeaderKey
|
||||||
|
requestIDHeaderKey = "X-Request-Id"
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
@@ -109,10 +111,13 @@ func NewWithConfig(logger *slog.Logger, config Config) gin.HandlerFunc {
|
|||||||
params[p.Key] = p.Value
|
params[p.Key] = p.Value
|
||||||
}
|
}
|
||||||
|
|
||||||
requestID := uuid.New().String()
|
requestID := c.GetHeader(requestIDHeaderKey)
|
||||||
if config.WithRequestID {
|
if config.WithRequestID {
|
||||||
|
if requestID == "" {
|
||||||
|
requestID = uuid.New().String()
|
||||||
|
c.Header(requestIDHeaderKey, requestID)
|
||||||
|
}
|
||||||
c.Set(requestIDCtx, requestID)
|
c.Set(requestIDCtx, requestID)
|
||||||
c.Header("X-Request-ID", requestID)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// dump request body
|
// dump request body
|
||||||
|
|||||||
Reference in New Issue
Block a user