我有一个HandleFunc,如果成功的话,我希望(显然)能够
200回复但是以下代码片段(在快乐路径中执行)
if fullRun {
w.Write([]byte(successMsg))
w.WriteHeader(http.StatusOK)
}
Run Code Online (Sandbox Code Playgroud)
在我的应用程序日志中导致此消息
http: superfluous response.WriteHeader
Run Code Online (Sandbox Code Playgroud)
这是为什么?
200当尝试同时返回(文本)消息时,是否需要遵循另一种模式/实践?
Bur*_*dar 12
从文档中WriteHeader:
如果未显式调用 WriteHeader,则第一次调用 Write 将触发隐式 WriteHeader(http.StatusOK)。因此显式调用 WriteHeader 主要用于发送错误代码。
所以你的第一个 write 调用已经调用了WriteHeader,并且你的第二个调用被忽略。
WriteHeader在写入正文之前调用,或者如果您发送的只是 StatusOK,则不要调用它。
| 归档时间: |
|
| 查看次数: |
8689 次 |
| 最近记录: |