From fba6fedfc50b0cee17906de58e366072344ac35a Mon Sep 17 00:00:00 2001 From: WJQSERVER <114663932+WJQSERVER@users.noreply.github.com> Date: Mon, 30 Mar 2026 01:17:59 +0800 Subject: [PATCH] Update context.go Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> --- context.go | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/context.go b/context.go index 4d1f033..09035b2 100644 --- a/context.go +++ b/context.go @@ -478,8 +478,9 @@ func (c *Context) WANF(code int, obj any) { // WANFBuf 先将 WANF 编码到 buffer, 成功后再写入状态码和响应体. func (c *Context) WANFBuf(code int, obj any) { - data, err := wanf.Marshal(obj) - if err != nil { + var buf bytes.Buffer + encoder := wanf.NewStreamEncoder(&buf) + if err := encoder.Encode(obj); err != nil { errMsg := fmt.Errorf("failed to encode WANF: %w", err) c.AddError(errMsg) c.ErrorUseHandle(http.StatusInternalServerError, errMsg) @@ -487,7 +488,7 @@ func (c *Context) WANFBuf(code int, obj any) { } c.Writer.Header().Set("Content-Type", "application/vnd.wjqserver.wanf; charset=utf-8") c.Writer.WriteHeader(code) - c.Writer.Write(data) + c.Writer.Write(buf.Bytes()) } // HTML 渲染 HTML 模板