Вопрос: Как делать `context`-aware логирование в middleware?
Go
Senior
Без компании
Вопрос: Как делать `context`-aware логирование в middleware?
Ответы
```go
func withRequestID(next http.Handler) http.Handler {
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
rid := uuid.NewString()
ctx := context.WithValue(r.Context(), ctxKey("rid"), rid)
next.ServeHTTP(w, r.WithContext(ctx))
})
}
```
**Как это работает:** добавляем метаданные в контекст запроса и прокидываем дальше через `r.WithContext`.