Захват всего ответа, включая заголовки, с помощью HttpServletResponseWrapper - PullRequest
4 голосов
/ 02 августа 2009

Спасибо всем заранее -

Итак, я пошел дальше и реализовал этот код: Как прочитать поток вывода HttpServletReponses?

Что дает мне тело ответа (html и т. Д.), Но я вообще не получаю никаких заголовков - это возможно сделать с HttpServletResponseWrapper? Мне нужно захватить весь запрос для всех для модификации заголовка и т. Д.

Спасибо

Sam

Ответы [ 2 ]

5 голосов
/ 02 августа 2009

Если вы хотите захватывать заголовки, ваш лучший подход - переопределить все addHeader () / setHeader () (Date, int и String) в вашем HttpServletResponseWrapper и сохранить их в экземпляре HashMap или Properties (или MultiMap, если вы используя Google Collections).
После этого вы можете делать с ними все, что захотите, в своем фильтре после обработки ответа. Вам также нужно будет как-то представить их в вашей оболочке (например, написать метод getHeaders ()), потому что обычный HttpServletResponse этого не делает.

0 голосов
/ 02 августа 2009

Простое решение заключается в использовании Tomcat Request Dumper Valve . Это сбрасывает всю мета-информацию, включая поля заголовка для каждого входящего HttpServletRequest и исходящего HttpServletReply.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...