У меня есть сервер, который передает различные данные, такие как вывод журнала по долговечным HTTP-ответам. Тем не менее, при использовании сервлета-прокси Jetty я не смог заставить его передать ответ (он отбрасывает весь ответ перед отправкой).Потоковые HTTP-ответы с Jetty AsyncProxyServlet
Использование перекрывая простой ProxyServlet
класс, следующий, кажется, работает:
@Override
protected void onResponseContent(HttpServletRequest request, HttpServletResponse response, Response proxyResponse, byte[] buffer, int offset, int length, Callback callback) {
super.onResponseContent(request, response, proxyResponse, buffer, offset, length, callback);
try {
response.getOutputStream().flush();
} catch (IOException e) {
log.warn("Error flushing", e);
}
}
Однако делать это, когда переопределение AsyncProxyServlet
не работает. (Полный исходный код here.)
Итак, два вопроса:
- При использовании
ProxyServlet
, является промывка после каждого бита содержимого получил путь? - Есть ли способ заставить его работать с
AsyncProxyServlet
?