feat: 添加 InitSSE()、SSEStream() 帮助函数, 并修复 Stream() 中的过时的 CloseNotifier
作者: shahariaz创建于 2026年5月22日更新于 2026年7月25日
标签type/proposal
QQ 特性描述
□ 问题
- " C.SSEvent " / " C.Stream " 要求每个处理器上都有锅炉板SSE头。
- 不存在"设置SSE + 循环直到断开"帮助器.
c.Stream'使用已贬值的http.Close Notifer'接口 (w.Close Notify ()',Go 1.20+中从net/http'中删除。)
□ 拟议更改
c. InitSSE ()' (新) 设置“ Content-Type: text/event-stream” ,“缓存控制:无缓存” , 连接:保持原状'和 " 立即冲出 " 页眉 -- -- 删除
每个SSE处理器的复制版锅炉板。
c.SESSTREAM (step func (* Context) bul (新)) ' 调用InitSSE ()',然后循环调用`步骤',每次调用后冲出。
当客户端断开时返回“ true”(通过“request.context ()) 。 完成(),
" 步骤 " 假返回时的 " 假 " 。 与现有的 " Stream() " 相对应。
C.Stream ()' 固定 将w.Close Notify()'改为`c.request.Context()。 完成() 现代、
用于检测客户端断开的不折旧方法。
□ 考虑的其他选择 用户可以直接拨打`c.render',但人文基因组学对 常见案件。 目前没有库级的 SSE 循环帮助器 。
□ 核对表
- [ 所有三个变化都添加了测试
- 现有
试验文本 " /试验文本 " 更新
内容来源: gin-gonic/gin