From 085b962c6e4af22ff6afcc7a01d1309f662923fa Mon Sep 17 00:00:00 2001 From: Gabor Javorszky Date: Wed, 8 Feb 2023 19:41:57 +0000 Subject: [PATCH] chore(web): Use request ID helper function, remove unneeded code (#21) * Make use of the helper function to grab request ID * Remove code from request ID middleware that we don't need * Lint fix --- web/error/handler.go | 4 +++- web/mid/logger.go | 4 +++- web/mid/requestid.go | 10 ---------- 3 files changed, 6 insertions(+), 12 deletions(-) diff --git a/web/error/handler.go b/web/error/handler.go index fa1e348..ce5ef38 100644 --- a/web/error/handler.go +++ b/web/error/handler.go @@ -5,6 +5,8 @@ import ( "github.com/labstack/echo/v4" "github.com/rs/zerolog" + + kitHttp "github.com/suborbital/go-kit/web/http" ) func Handler(logger zerolog.Logger) echo.HTTPErrorHandler { @@ -15,7 +17,7 @@ func Handler(logger zerolog.Logger) echo.HTTPErrorHandler { } ll.Err(err). - Str("requestID", c.Request().Header.Get(echo.HeaderXRequestID)). + Str("requestID", kitHttp.RID(c)). Msg("request returned an error") he, ok := err.(*echo.HTTPError) diff --git a/web/mid/logger.go b/web/mid/logger.go index 14eb2c1..969cb92 100644 --- a/web/mid/logger.go +++ b/web/mid/logger.go @@ -4,6 +4,8 @@ import ( "github.com/labstack/echo/v4" "github.com/labstack/echo/v4/middleware" "github.com/rs/zerolog" + + "github.com/suborbital/go-kit/web/http" ) // Logger middleware configures echo's built in middleware.RequestLoggerWithConfig middleware. The passed in @@ -43,7 +45,7 @@ func Logger(l zerolog.Logger, skipPaths []string) echo.MiddlewareFunc { l.Info(). Str("path", c.Path()). Str("URI", c.Request().RequestURI). - Str("requestID", c.Response().Header().Get(echo.HeaderXRequestID)). + Str("requestID", http.RID(c)). Str("method", c.Request().Method). Msg("request started") }, diff --git a/web/mid/requestid.go b/web/mid/requestid.go index 056657f..f3ff247 100644 --- a/web/mid/requestid.go +++ b/web/mid/requestid.go @@ -1,15 +1,11 @@ package mid import ( - "context" - "github.com/google/uuid" "github.com/labstack/echo/v4" "github.com/labstack/echo/v4/middleware" ) -const RequestIDKey = "requestID" - // UUIDRequestID configures echo's built in request id middleware so that the ID generated is an UUIDv4, and the // generated request ID is added to the following three parts of the request: // - the echo.HeaderXRequestID header, this is by default @@ -22,11 +18,5 @@ func UUIDRequestID() echo.MiddlewareFunc { Generator: func() string { return uuid.New().String() }, - RequestIDHandler: func(c echo.Context, s string) { - c.Set(RequestIDKey, s) - ctx := c.Request().Context() - ctx = context.WithValue(ctx, RequestIDKey, s) - c.SetRequest(c.Request().WithContext(ctx)) - }, }) }