FWQ
为什么 Gin 的 ctx.Stream 在启用压缩中间件后无法实时输出结果?
在IT行业这个发展更新速度很快的行业,只有不停止的学习,才不会被行业所淘汰。如果你是Golang学习者,那么本文《为什么 Gin 的 ctx.Stream 在启用压缩中间件后无法实时输出结果?》就很适合你!本篇内容主要包括##content_title##,希望对大家的知识积累有所帮助,助力实战开发!, , gin 的 ctx.stream 为什么在方法执行结束后才输出结果?, 问题:,gin 的 ctx.stream 无法按预期地实时输出,而是在控制器方法执行完成后才一次性输出结果。这是为什么?, 解答:,当 gin 启用了压缩输出中间件(例如 brotli.brotli)后,ctx.stream 将不起作用。这是因为:,此时,可以在请求头中明确指定 “content-type: text/event-stream” 以避免压缩,从而让 ctx.stream 按预期地实时输出。,参考 gin 源代码中 shouldcompress 方法的实现:,到这里,我们也就讲完了《为什么…