From: markt Date: Thu, 11 Aug 2011 08:13:56 +0000 (+0000) Subject: Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=41718 X-Git-Url: https://git.internetallee.de/?a=commitdiff_plain;h=01655cb1b0abcaa6810226cc198273844ccc336d;p=tomcat7.0 Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=41718 RFC2616 says redirects should include a response body. git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@1156530 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/java/org/apache/catalina/connector/LocalStrings.properties b/java/org/apache/catalina/connector/LocalStrings.properties index 197f11de3..7eea0ffdd 100644 --- a/java/org/apache/catalina/connector/LocalStrings.properties +++ b/java/org/apache/catalina/connector/LocalStrings.properties @@ -47,6 +47,7 @@ coyoteResponse.reset.ise=Cannot call reset() after response has been committed coyoteResponse.resetBuffer.ise=Cannot reset buffer after response has been committed coyoteResponse.sendError.ise=Cannot call sendError() after the response has been committed coyoteResponse.sendRedirect.ise=Cannot call sendRedirect() after the response has been committed +coyoteResponse.sendRedirect.note=

Redirecting to {0}

coyoteResponse.setBufferSize.ise=Cannot change buffer size after data has been written # diff --git a/java/org/apache/catalina/connector/Response.java b/java/org/apache/catalina/connector/Response.java index 6b8ca7bfe..f32afdbae 100644 --- a/java/org/apache/catalina/connector/Response.java +++ b/java/org/apache/catalina/connector/Response.java @@ -1327,13 +1327,17 @@ public class Response return; // Clear any data content that has been buffered - resetBuffer(); + resetBuffer(true); // Generate a temporary redirect to the specified location try { String absolute = toAbsolute(location); setStatus(SC_FOUND); setHeader("Location", absolute); + PrintWriter writer = getWriter(); + writer.print( + sm.getString("coyoteResponse.sendRedirect.note", absolute)); + flushBuffer(); } catch (IllegalArgumentException e) { setStatus(SC_NOT_FOUND); }