akka-http的文档说明,完全消耗一个请求流非常重要,因为未提取的字节将被解释为背压(https://doc.akka.io/docs/akka-http/current/implications-of-streaming-http-entity.html)。如果事先知道可以忽略该流,则应使用discardEntityBytes
,否则应完全阅读它。还可以通过将流附加到Sink.cancelled
来关闭连接。
我的问题是流失败时会发生什么。
Future
完成请求还是响应正在流式传输,这有关系吗?示例包含未来:
val route =
post {
extractDataBytes { data =>
complete {
data
.via(flow1)
.via(flow2) // say error happens here at some point
.runwWith(sink)
}
}
}
答案 0 :(得分:0)
如果服务器连接出现问题,则连接将自动关闭。