golang捕获http.ResponseWriter被close的两种方式(有无context)
方便被传阅,采用中文,其实习惯看英文后,发现中文对于一些问题,读起来绕口,接下来有很多也是直接照搬英文,以下几个方面简单介绍下:
- 为嘛服务端需要知道http连接被断开(客户端主动cancel)
- 最简单的方式捕获
- 当使用了context来传递信息时,如何捕获
- context捕获后,如何继续传递
需求
吐槽下自己 ,第一次用优快云的新款编辑器很是生疏
Most web requests by design take only a few dozen milliseconds to process. But sometimes web apps need to leave a connection open for a longer period of time. And sometimes the remote client closes the connection before the server has had time to respond.
On a Go-based webserver, you can receive notifications when the HTTP connection terminates.
这讲的就很好,客户端它要是关了怎么办,咱们不能坐以待毙啊。
捕获cancel的通知
一个简单的用法
Start with an HTTP handler function, and get the channel for close notifications:
func SomeHandler(resp http.Reson