我的 Go 服务器正在处理我首先调用的请求response.WriteHeader()
为了设置我的响应的状态代码。之后,我开始将字节写入响应正文。如果浏览器在我复制字节时取消请求,则会收到错误消息:
write tcp [::1]:52319: broken pipe
我的代码检测到此错误,然后调用http.Error()
。这调用response.WriteHeader()
again.
这似乎是一个问题,但我不确定。这可以避免吗?如何避免打电话response.WriteHeader()
当写入响应主体时再次发生错误?
Thanks!
致电给.WriteHeader()
开始通过网络向客户端发送响应。一旦响应开始,就无法返回。您唯一能做的就是在本地记录错误(让服务器管理员知道),或者可能只是默默地失败。
'Error()' 函数用于发送完整的 HTTP(错误)响应,因此您只能使用它来替换发送您自己的响应,而不能添加它。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)