Netty Настройка размера содержимого HTTP-ответа на 0
В целях эксперимента, где мне нужно добавить определенный контент (аудиоданные), поступающий с YouTube, в ответное сообщение HTTP, я использую приведенный ниже код.
Прямо сейчас я тестирую с конкретным видео, и я знаю размер контента. Запустил некоторый тест без этого кода и захватил переменную размера.
if (contType.equals("text/plain") && contLen > 200000 && contLen < 300000) {
outputFileName = projRoot + File.separator + folder + File.separator + "v_" + seqNum + "_" + String.valueOf(ranNum);
log.debug("This is AUDIO data received, and dropping it off");
response.setHeader("Content-Length", 0);
response.getContent().clear();
return true;
}
Однако, когда я запускаю эту программу, я вижу, как распечатывается журнал; однако, это действительно не отбрасывает контент. Я вижу, клиент (браузер Flash Player) все еще может загружать контент, и на этот раз с другим размером. Видео воспроизводится как с визуальным, так и с аудио.
Как правильно отбросить контент до того, как он достигнет клиента? Я скучаю по чему-то здесь?
1 ответ
Пытаться:
HttpHeaders.setContentLength(response, 0l);
response.setContent(null);
Также убедитесь, что ваш браузер не загружает контент из локального кэша.
Я не уверен, что вы можете использовать LittleProxy для перехвата и изменения ответа таким образом... Хотя этот поток предполагает, что вы можете сделать это, используя HttpFilter (проверьте этот тестовый код на предмет базовой структуры). В противном случае вам придется копаться в исходном коде Little Proxy для дальнейшей настройки.