https://issues.apache.org/bugzilla/show_bug.cgi?id=52157
--- Comment #1 from Brad Plies <bpl...@bulliondirect.com> 2011-11-08 20:58:17 UTC --- Attempted example // See: http://download.oracle.com/javaee/6/api/javax/servlet/http/HttpServletResponseWrapper.html class MyWrapper extends HttpServletResponseWrapper { public MyWrapper(HttpServletResponse response) { super(response); } // This was working fine with Tomcat 7.0.20 public void sendResponse() throws IOException { this.pw.flush(); this.pw.close(); ServletOutputStream realStream = super.getOutputStream(); byte[] byteArray = basos.baos.toByteArray(); realStream.write(byteArray); realStream.flush(); } // NOTE: Alternate Writer & OutputStream MyOutputStream basos = new MyOutputStream(); PrintWriter pw = new PrintWriter(basos); // NOTE: Overriding default behavior of Wrapper, returning alternates public ServletOutputStream getOutputStream() throws IOException { return basos; } public PrintWriter getWriter() throws IOException { return pw; } } } public class MyFilter implements Filter { @Override public void doFilter(final ServletRequest request, final ServletResponse response, final FilterChain chain) throws IOException, ServletException { final HttpServletRequest httpRequest = (HttpServletRequest) request; final MyWrapper wrappedResponse = new MyWrapper((HttpServletResponse) response); chain.doFilter(httpRequest, wrappedResponse); // ... Something down the chain called wrappedResponse.sendRedirect() if (someCondition) { // Override redirect and handle response directly or something response.sendErrorPage(...); // NOTE: Original response object, discarding anything written to the wrapped buffer // !!! Blows up in Tomcat 7.0.21 because sendRedirect() circumvented the Wrapper's Writer } else { // Accept the wrapped Response as the output // Set response output to be same as wrappedResponse output } } } -- Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug. --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org