Skip to content

Commit cb6f0a5

Browse files
nownabevishr
authored andcommitted
Enable custom request id generator (#881)
1 parent b2430fc commit cb6f0a5

File tree

2 files changed

+14
-4
lines changed

2 files changed

+14
-4
lines changed

middleware/request_id.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ func RequestIDWithConfig(config RequestIDConfig) echo.MiddlewareFunc {
5050
res := c.Response()
5151
rid := req.Header.Get(echo.HeaderXRequestID)
5252
if rid == "" {
53-
rid = random.String(32)
53+
rid = config.Generator()
5454
}
5555
res.Header().Set(echo.HeaderXRequestID, rid)
5656

middleware/request_id_test.go

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,20 @@ func TestRequestID(t *testing.T) {
1414
req, _ := http.NewRequest(echo.GET, "/", nil)
1515
rec := httptest.NewRecorder()
1616
c := e.NewContext(req, rec)
17-
rid := RequestIDWithConfig(RequestIDConfig{})
18-
h := rid(func(c echo.Context) error {
17+
handler := func(c echo.Context) error {
1918
return c.String(http.StatusOK, "test")
20-
})
19+
}
20+
21+
rid := RequestIDWithConfig(RequestIDConfig{})
22+
h := rid(handler)
2123
h(c)
2224
assert.Len(t, rec.Header().Get(echo.HeaderXRequestID), 32)
25+
26+
// Custom generator
27+
rid = RequestIDWithConfig(RequestIDConfig{
28+
Generator: func() string { return "customGenerator" },
29+
})
30+
h = rid(handler)
31+
h(c)
32+
assert.Equal(t, rec.Header().Get(echo.HeaderXRequestID), "customGenerator")
2333
}

0 commit comments

Comments
 (0)