是否可以使用http4k传输长响应?

时间:2019-11-29 18:41:31

标签: http4k

我想使用http4k进行长时间响应。我计划使用Content-type: multipart/x-mixed-replace,所以我会无休止地将数据推送到客户端。在http4k中,我们有typealias HttpHandler = (Request) -> Response。但是我的处理程序无法返回响应,因为它不是我要返回的有限文档,而是无限的流。这是否意味着我应该为自己想要的东西使用其他东西?

1 个答案:

答案 0 :(得分:1)

如果要从另一个HTTP来源提取信息,则可以在各种HTTP客户端模块之一上使用流式主体模式(Apache / OkHttp / Jetty可以使用)。

或者,如果您自己生成内容或从数据库流式传输,则必须启动一个Thread并以这种方式处理它。在一个测试用例的源代码中有一个示例,该示例用于证明各种客户端可以进行流传输。

https://github.com/http4k/http4k/blob/master/http4k-core/src/test/kotlin/org/http4k/streaming/StreamingContract.kt