@@ -17,14 +17,18 @@ type (
1717
1818 // RequestIDHandler defines a function which is executed for a request id.
1919 RequestIDHandler func (echo.Context , string )
20+
21+ // TargetHeader defines what header to look for to populate the id
22+ TargetHeader string
2023 }
2124)
2225
2326var (
2427 // DefaultRequestIDConfig is the default RequestID middleware config.
2528 DefaultRequestIDConfig = RequestIDConfig {
26- Skipper : DefaultSkipper ,
27- Generator : generator ,
29+ Skipper : DefaultSkipper ,
30+ Generator : generator ,
31+ TargetHeader : echo .HeaderXRequestID ,
2832 }
2933)
3034
@@ -42,6 +46,9 @@ func RequestIDWithConfig(config RequestIDConfig) echo.MiddlewareFunc {
4246 if config .Generator == nil {
4347 config .Generator = generator
4448 }
49+ if config .TargetHeader == "" {
50+ config .TargetHeader = echo .HeaderXRequestID
51+ }
4552
4653 return func (next echo.HandlerFunc ) echo.HandlerFunc {
4754 return func (c echo.Context ) error {
@@ -51,11 +58,11 @@ func RequestIDWithConfig(config RequestIDConfig) echo.MiddlewareFunc {
5158
5259 req := c .Request ()
5360 res := c .Response ()
54- rid := req .Header .Get (echo . HeaderXRequestID )
61+ rid := req .Header .Get (config . TargetHeader )
5562 if rid == "" {
5663 rid = config .Generator ()
5764 }
58- res .Header ().Set (echo . HeaderXRequestID , rid )
65+ res .Header ().Set (config . TargetHeader , rid )
5966 if config .RequestIDHandler != nil {
6067 config .RequestIDHandler (c , rid )
6168 }
0 commit comments