From 3433491d5934067179f727a062f2eff5127e4e44 Mon Sep 17 00:00:00 2001 From: Ward Miao Date: Fri, 21 Feb 2025 10:23:03 +0800 Subject: [PATCH] fix: make a copy of response data in ResponseWriterInterceptor --- pkg/logger/log/responsewriter.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pkg/logger/log/responsewriter.go b/pkg/logger/log/responsewriter.go index e10e00f..4444f6b 100644 --- a/pkg/logger/log/responsewriter.go +++ b/pkg/logger/log/responsewriter.go @@ -24,6 +24,9 @@ type ResponseWriterInterceptor struct { } func (w *ResponseWriterInterceptor) Write(b []byte) (int, error) { - w.data = b + if w.data == nil { + w.data = make([]byte, len(b)) + copy(w.data, b) + } return w.ResponseWriter.Write(b) }