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 для дальнейшей настройки.

Другие вопросы по тегам