From 61e67bc2a034d587290557535ee56a98b500c15d Mon Sep 17 00:00:00 2001 From: wjqserver <114663932+WJQSERVER@users.noreply.github.com> Date: Fri, 6 Jun 2025 21:29:09 +0800 Subject: [PATCH] [context] fix writer reset --- context.go | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/context.go b/context.go index ff65ef3..7a64cc4 100644 --- a/context.go +++ b/context.go @@ -59,16 +59,8 @@ type Context struct { // reset 重置 Context 对象以供复用。 // 每次从 sync.Pool 中获取 Context 后,都需要调用此方法进行初始化。 func (c *Context) reset(w http.ResponseWriter, req *http.Request) { - // 每次重置时,确保 Writer 包装的是最新的 http.ResponseWriter - // 并重置其内部状态 - if rw, ok := c.Writer.(*responseWriterImpl); ok { - rw.ResponseWriter = w - rw.status = 0 - rw.size = 0 - } else { - // 如果 c.Writer 不是 responseWriterImpl,重新创建 - c.Writer = newResponseWriter(w) - } + + c.Writer = newResponseWriter(w) c.Request = req c.Params = c.Params[:0] // 清空 Params 切片,而不是重新分配,以复用底层数组