From db6b3c22ae397ccdafdfc88df3404d4febba1f79 Mon Sep 17 00:00:00 2001 From: Harshavardhana Date: Fri, 27 Jun 2025 23:37:13 -0700 Subject: [PATCH] fix request size calculation --- http-tracer.go | 10 ++++++---- write_on_close.go | 2 +- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/http-tracer.go b/http-tracer.go index c794638..8892560 100644 --- a/http-tracer.go +++ b/http-tracer.go @@ -67,8 +67,10 @@ func (r *recordRequest) Read(p []byte) (n int, err error) { func (r *recordRequest) Size() int { sz := r.bytesRead - for k, v := range r.headers { - sz += len(k) + len(v) + for k, vals := range r.headers { + for _, v := range vals { + sz += len(k) + len(v) + } } return sz } @@ -92,7 +94,7 @@ type ResponseWriter struct { } // NewResponseWriter - returns a wrapped response writer to trap -// http status codes for auditiing purposes. +// HTTP status codes for auditing purposes. func NewResponseWriter(w http.ResponseWriter) *ResponseWriter { return &ResponseWriter{ ResponseWriter: w, @@ -162,7 +164,7 @@ func (lrw *ResponseWriter) Flush() { lrw.ResponseWriter.(http.Flusher).Flush() } -// Size - reutrns the number of bytes written +// Size - returns the number of bytes written func (lrw *ResponseWriter) Size() int { return lrw.bytesWritten } diff --git a/write_on_close.go b/write_on_close.go index f32e065..02f13f4 100644 --- a/write_on_close.go +++ b/write_on_close.go @@ -50,7 +50,7 @@ func (w *WriteOnCloser) Close() error { // HasWritten returns true if at least one write operation was performed. func (w *WriteOnCloser) HasWritten() bool { return w.hasWritten } -// WriteOnClose takes an io.Writer and returns an ioutil.WriteOnCloser. +// WriteOnClose takes an io.Writer and returns a WriteOnCloser. func WriteOnClose(w io.Writer) *WriteOnCloser { return &WriteOnCloser{w, false} }