Play2 Framework прокси потокового контента на клиенте сохраняет соединение открытым после завершения потоковой передачи
Приведенный ниже код выполняет потоковую передачу обратно клиенту, поскольку то, что я собираю, является более идиоматическим способом, чем использование потоков ввода-вывода Java. Однако у него есть проблема: соединение остается открытым после завершения потока.
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")
}
это предназначено для потоковой передачи больших (& gt; 1 МБ) файлов из внутреннего API запросчику.
Вопрос в том, почему он держит соединение открытым? Есть ли что-то, что он ожидает от вышестоящего сервера? Я проверил вышестоящий сервер, используя curl, и соединение закрывается - оно просто не закрывается при прохождении через этот прокси.