Author: markt
Date: Thu Aug 11 08:13:56 2011
New Revision: 1156530

URL: http://svn.apache.org/viewvc?rev=1156530&view=rev
Log:
Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=41718
RFC2616 says redirects should include a response body.

Modified:
    tomcat/trunk/java/org/apache/catalina/connector/LocalStrings.properties
    tomcat/trunk/java/org/apache/catalina/connector/Response.java

Modified: 
tomcat/trunk/java/org/apache/catalina/connector/LocalStrings.properties
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/LocalStrings.properties?rev=1156530&r1=1156529&r2=1156530&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/connector/LocalStrings.properties 
(original)
+++ tomcat/trunk/java/org/apache/catalina/connector/LocalStrings.properties Thu 
Aug 11 08:13:56 2011
@@ -47,6 +47,7 @@ coyoteResponse.reset.ise=Cannot call res
 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=<html><body><p>Redirecting to <a 
href="{0}">{0}</a></p></body></html>
 coyoteResponse.setBufferSize.ise=Cannot change buffer size after data has been 
written
 
 #

Modified: tomcat/trunk/java/org/apache/catalina/connector/Response.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/Response.java?rev=1156530&r1=1156529&r2=1156530&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/connector/Response.java (original)
+++ tomcat/trunk/java/org/apache/catalina/connector/Response.java Thu Aug 11 
08:13:56 2011
@@ -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);
         }



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to