add request id to all responses

Signed-off-by: Michael Barz <mbarz@owncloud.com>
This commit is contained in:
Michael Barz
2023-07-04 17:08:29 +02:00
parent ee1c9cf87f
commit dce3a62f13
2 changed files with 9 additions and 1 deletions

View File

@@ -0,0 +1,5 @@
Enhancement: Add X-Request-Id to all responses
We added the X-Request-Id to all responses to increase the debuggability of the platform.
https://github.com/owncloud/ocis/pull/6715

View File

@@ -13,12 +13,15 @@ func AccessLog(logger log.Logger) func(http.Handler) http.Handler {
return func(next http.Handler) http.Handler {
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
start := time.Now()
requestID := middleware.GetReqID(r.Context())
// add Request Id to all responses
w.Header().Set(middleware.RequestIDHeader, requestID)
wrap := middleware.NewWrapResponseWriter(w, r.ProtoMajor)
next.ServeHTTP(wrap, r)
logger.Info().
Str("proto", r.Proto).
Str(log.RequestIDString, middleware.GetReqID(r.Context())).
Str(log.RequestIDString, requestID).
Str("remote-addr", r.RemoteAddr).
Str("method", r.Method).
Int("status", wrap.Status()).