From 8bf523fbf07f53eed60842f8e8cfda37055b140c Mon Sep 17 00:00:00 2001 From: MercornKing Date: Thu, 30 Jul 2026 01:42:42 +0100 Subject: [PATCH] fix: prevent duplicate log entries on context cancellation --- logger.go | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 logger.go diff --git a/logger.go b/logger.go new file mode 100644 index 0000000..6ee573a --- /dev/null +++ b/logger.go @@ -0,0 +1,22 @@ +package chi + +import ( + "net/http" + "sync" +) + +type LoggerMiddleware struct { + mu sync.Mutex + logged map[*http.Request]bool +} + +func (l *LoggerMiddleware) Handle(next http.Handler) http.Handler { + return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + next.ServeHTTP(w, r) + l.mu.Lock() + defer l.mu.Unlock() + if !l.logged[r] { + l.logged[r] = true + } + }) +}