Play2 Framework прокси потокового контента на клиенте сохраняет соединение открытым после завершения потоковой передачи
Приведенный ниже код выполняет потоковую передачу обратно клиенту, поскольку, как я понял, это более идиоматический способ, чем использование Java.S IO Streams. Однако у него есть проблема: соединение остается открытым после завершения потока.
def getImage() = Action { request =>
val imageUrl = "http://hereandthere.com/someimageurl.png"
Ok.stream({ content: Iteratee[Array[Byte], Unit] =>
WS.url(imageUrl).withHeaders("Accept"->"image/png").get { response => content }
return
}).withHeaders("Content-Type"->"image/png")
}
это предназначено для большого потока (>1 мб) файлы из внутреннего API запросчику.
Вопрос в том, почему он держит соединение открытым? Есть ли что-то, что он ожидает от вышестоящего сервера? Я проверил вышестоящий сервер с помощью curl, и соединение закрывается - оно просто неT закрыть, когда прошло через этот прокси.