Здравствуйте. Помогите, пожалуйста, решить проблему.
Пишу фильтр, из которого я бы мог извлечь информацию из outputStream
class MyHttpServletResponseWrapper
extends HttpServletResponseWrapper {
private StringWriter sw = new StringWriter(BUFFER_SIZE);
public MyHttpServletResponseWrapper(HttpServletResponse response) {
super(response);
}
public PrintWriter getWriter() throws IOException {
return new PrintWriter(sw);
}
public ServletOutputStream getOutputStream() throws IOException {
throw new UnsupportedOperationException();
}
public String toString() {
return sw.toString();
}
}
Однако после того, как я проталкиваю его в цепь, я получаю response body, но на этом цепь прерывается
HttpServletResponse httpResponse = (HttpServletResponse) response;
MyHttpServletResponseWrapper wrapper =
new MyHttpServletResponseWrapper(httpResponse);
chain.doFilter(request, wrapper);
String content = wrapper.toString();
Т.Е. Я получаю код страницы из стрима, но сама страница в браузере не отображается.
Как мне сделать так, чтобы при извлечении body страница продолжала нормально отображаться?