chore: add unit test for WithCodeResponseWriter (#5028)

Signed-off-by: kevin <wanjunfeng@gmail.com>
This commit is contained in:
Kevin Wan
2025-07-25 21:45:47 +08:00
committed by GitHub
parent 0be63c3625
commit 25f37ca750
5 changed files with 44 additions and 30 deletions

View File

@@ -49,6 +49,12 @@ func (w *WithCodeResponseWriter) Hijack() (net.Conn, *bufio.ReadWriter, error) {
return nil, nil, errors.New("server doesn't support hijacking")
}
// Unwrap returns the underlying http.ResponseWriter.
// This is used by http.ResponseController to unwrap the response writer.
func (w *WithCodeResponseWriter) Unwrap() http.ResponseWriter {
return w.Writer
}
// Write writes bytes into w.
func (w *WithCodeResponseWriter) Write(bytes []byte) (int, error) {
return w.Writer.Write(bytes)
@@ -59,8 +65,3 @@ func (w *WithCodeResponseWriter) WriteHeader(code int) {
w.Writer.WriteHeader(code)
w.Code = code
}
// Unwrap returns the underlying ResponseWriter.
func (w *WithCodeResponseWriter) Unwrap() http.ResponseWriter {
return w.Writer
}

View File

@@ -46,3 +46,15 @@ func TestWithCodeResponseWriter_Hijack(t *testing.T) {
writer.Hijack()
})
}
func TestWithCodeResponseWriter_Unwrap(t *testing.T) {
resp := httptest.NewRecorder()
writer := NewWithCodeResponseWriter(resp)
unwrapped := writer.Unwrap()
assert.Equal(t, resp, unwrapped)
// Test with a nested WithCodeResponseWriter
nestedWriter := NewWithCodeResponseWriter(writer)
unwrappedNested := nestedWriter.Unwrap()
assert.Equal(t, resp, unwrappedNested)
}