diff options
author | Marc Pervaz Boocha <mboocha@sudomsg.com> | 2025-08-07 22:54:36 +0530 |
---|---|---|
committer | Marc Pervaz Boocha <mboocha@sudomsg.com> | 2025-08-07 22:54:36 +0530 |
commit | ae4b37bb136397ca4631ed39526b8156622f285b (patch) | |
tree | 50ff0b8df3ed2b0189929a9d127c9cbdd7f75d79 | |
parent | Fixed Complience of slog test handler (diff) | |
download | kit-ae4b37bb136397ca4631ed39526b8156622f285b.tar kit-ae4b37bb136397ca4631ed39526b8156622f285b.tar.gz kit-ae4b37bb136397ca4631ed39526b8156622f285b.tar.bz2 kit-ae4b37bb136397ca4631ed39526b8156622f285b.tar.lz kit-ae4b37bb136397ca4631ed39526b8156622f285b.tar.xz kit-ae4b37bb136397ca4631ed39526b8156622f285b.tar.zst kit-ae4b37bb136397ca4631ed39526b8156622f285b.zip |
Removed the extra logger arguement from http
-rw-r--r-- | logging/http/http.go | 19 | ||||
-rw-r--r-- | logging/http/http_test.go | 4 |
2 files changed, 7 insertions, 16 deletions
diff --git a/logging/http/http.go b/logging/http/http.go index b88ae3a..04b2e0c 100644 --- a/logging/http/http.go +++ b/logging/http/http.go @@ -24,7 +24,6 @@ type tracingWriter struct { var ( _ http.ResponseWriter = &tracingWriter{} - _ http.Flusher = &tracingWriter{} _ http.Hijacker = &tracingWriter{} _ interface{ Unwrap() http.ResponseWriter } = &tracingWriter{} ) @@ -43,11 +42,6 @@ func (tw *tracingWriter) Write(b []byte) (int, error) { return n, err } -func (tw *tracingWriter) Flush() { - rc := http.NewResponseController(tw.ResponseWriter) - _ = rc.Flush() -} - func (tw *tracingWriter) Hijack() (net.Conn, *bufio.ReadWriter, error) { rc := http.NewResponseController(tw.ResponseWriter) conn, rw, err := rc.Hijack() @@ -66,8 +60,7 @@ func (tw *tracingWriter) Unwrap() http.ResponseWriter { // It recovers panics during request processing, logs them with stack traces, // and returns a 500 Internal Server Error if the connection is not hijacked. type LoggingHandler struct { - next http.Handler - logger *slog.Logger + next http.Handler } var _ http.Handler = &LoggingHandler{} @@ -75,10 +68,9 @@ var _ http.Handler = &LoggingHandler{} // New creates a new LoggingHandler wrapping the next http.Handler, using the provided slog.Logger. // // If logger is nil, it attempts to obtain one from the request context. -func New(next http.Handler, logger *slog.Logger) *LoggingHandler { +func New(next http.Handler) *LoggingHandler { return &LoggingHandler{ - next: next, - logger: logger, + next: next, } } @@ -90,10 +82,7 @@ func New(next http.Handler, logger *slog.Logger) *LoggingHandler { func (h *LoggingHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) { ctx := r.Context() - logger := h.logger - if logger == nil { - logger = logging.FromContext(ctx) - } + logger := logging.FromContext(ctx) logger = logger.With( slog.String("method", r.Method), diff --git a/logging/http/http_test.go b/logging/http/http_test.go index 26e5974..832b49e 100644 --- a/logging/http/http_test.go +++ b/logging/http/http_test.go @@ -7,6 +7,7 @@ import ( "net/url" "testing" + "go.sudomsg.com/kit/logging" httpHandler "go.sudomsg.com/kit/logging/http" "go.sudomsg.com/kit/logging/test" ) @@ -65,9 +66,10 @@ func TestNew(t *testing.T) { logger := slog.New(log) - handler := httpHandler.New(tt.handler, logger) + handler := httpHandler.New(tt.handler) r := httptest.NewRequest(tt.method, tt.url, nil) + r = r.WithContext(logging.WithLogger(r.Context(), logger)) w := httptest.NewRecorder() handler.ServeHTTP(w, r) |