【发布时间】:2018-02-08 17:47:18
【问题描述】:
在我的 REST 端点上收到请求后,我想回复状态 200 以及不断生成和刷新的数据主体(从数据库中获取并且可能非常大)。我正在寻找一种有效的方法来使用Gorilla Mux,因为它在整个项目中都被使用。
我看到Labstack Echo 是可能的,因为它是ResponseWriter supports http.Flusher(interface 允许 HTTP 处理程序将缓冲数据刷新到客户端)。不幸的是,大猩猩的ResponseWriter 似乎不支持这一点。
问题:
- 有没有办法让 Gorilla Mux 出现这种行为?
- 如果没有,我会很感激指向“最薄”方法的指针,否则可以实现此行为(我已经找到 Labstack Echo,但也许有更好的方法?)
不变量:
- 我不能使用
WebSockets,应该将解决方案与 REST API 集成。 - 我无法将整个文件保存在服务器内存中。
【问题讨论】:
-
Gorilla 的多路复用器将 ResponseWriter 从服务器传递到应用程序。如果您的应用无法获取 http.Flusher,则会发生其他情况。
标签: rest go endpoint flush mux