У меня есть простой сервлет (запущенный в Tomcat8), который может быть сокращен следующим образом:
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.setContentType("text/plain");
OutputStream out = resp.getOutputStream();
byte[] b = "some very large content\n".getBytes()
for (int i=0; i<1000; i++) {
out.write(b);
}
}
Я использую Apache HTTPClient для его использования, по сути, так:
CloseableHttpResponse response = ...;
HttpEntity entity = response.getEntity();
InputStream is = entity.getContent();
Для данных небольшого размера он работает нормально, но если данные превышают определенный размер, клиент не получает ответ.Похоже, что ничего не отправляется?
Важно отметить, что я заранее не знаю размер данных, поэтому не могу указать заголовок Content-Length.
Каков правильный подход для отправкибольшие ответы неизвестного размера?