From df860360b9cd6f283f84fbb8230f6e4be7c0ba63 Mon Sep 17 00:00:00 2001 From: Jeremy Fleitz Date: Fri, 11 Sep 2026 08:07:52 -0400 Subject: [PATCH] call WriteAll for stream write Signed-off-by: Jeremy Fleitz --- wasihttp/responsewriter_p3.go | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/wasihttp/responsewriter_p3.go b/wasihttp/responsewriter_p3.go index 7e4f1f3..2b79cd7 100644 --- a/wasihttp/responsewriter_p3.go +++ b/wasihttp/responsewriter_p3.go @@ -4,6 +4,7 @@ package wasihttp import ( "fmt" + "io" "net/http" "slices" @@ -52,12 +53,15 @@ func (w *responseWriter) Write(buf []byte) (int, error) { return 0, err } - count := w.stream.Write(buf) - if count == 0 && w.stream.ReaderDropped() { - return 0, w.takeError() + n := int(w.stream.WriteAll(buf)) + if n < len(buf) { + if err := w.takeError(); err != nil { + return n, err + } + return n, io.ErrShortWrite } - return int(count), nil + return n, nil } func (w *responseWriter) Flush() {}