You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2008/11/30 23:58:06 UTC
svn commit: r721921 - in /tomcat/tc6.0.x/trunk: ./ STATUS.txt
java/org/apache/catalina/connector/Response.java
java/org/apache/catalina/core/StandardHostValve.java
webapps/docs/changelog.xml
Author: markt
Date: Sun Nov 30 14:58:06 2008
New Revision: 721921
URL: http://svn.apache.org/viewvc?rev=721921&view=rev
Log:
Use resetBuffer() as suggested by the spec. Makes custom and standard error page handling consistent
Modified:
tomcat/tc6.0.x/trunk/ (props changed)
tomcat/tc6.0.x/trunk/STATUS.txt
tomcat/tc6.0.x/trunk/java/org/apache/catalina/connector/Response.java
tomcat/tc6.0.x/trunk/java/org/apache/catalina/core/StandardHostValve.java
tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml
Propchange: tomcat/tc6.0.x/trunk/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sun Nov 30 14:58:06 2008
@@ -1 +1 @@
-/tomcat/trunk:601180,606992,673796,673820,683982,684001,684081,684234,684269-684270,687503,687645,690781,691392,691805,692748,695053,695311,696780,696782,698012,698227,698236,698613,699427,699634,709294,709816,711126
+/tomcat/trunk:601180,606992,673796,673820,683982,684001,684081,684234,684269-684270,687503,687645,690781,691392,691805,692748,695053,695311,696780,696782,698012,698227,698236,698613,699427,699634,709294,709816,710063,710125,711126
Modified: tomcat/tc6.0.x/trunk/STATUS.txt
URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/STATUS.txt?rev=721921&r1=721920&r2=721921&view=diff
==============================================================================
--- tomcat/tc6.0.x/trunk/STATUS.txt (original)
+++ tomcat/tc6.0.x/trunk/STATUS.txt Sun Nov 30 14:58:06 2008
@@ -143,15 +143,6 @@
+1: markt, remm (with a trivial improvement)
-1: fhanik - InternalAprInputBuffer/InternalNioInputBuffer should provide the same behavior (+1 for same changes in all three)
-* Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=42409
- Use resetBuffer() as suggested by the spec. Makes custom and standard error
- page handling consistent
- http://svn.apache.org/viewvc?rev=710063&view=rev
- http://svn.apache.org/viewvc?rev=710125&view=rev (to address Remy's comment)
- +1: markt, fhanik, pero
- 0: remm (I think it should now be ok)
- -1:
-
* Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=41861
Add major version number to Tomcat service name created by Windows installer
http://svn.apache.org/viewvc?rev=710066&view=rev
Modified: tomcat/tc6.0.x/trunk/java/org/apache/catalina/connector/Response.java
URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/catalina/connector/Response.java?rev=721921&r1=721920&r2=721921&view=diff
==============================================================================
--- tomcat/tc6.0.x/trunk/java/org/apache/catalina/connector/Response.java (original)
+++ tomcat/tc6.0.x/trunk/java/org/apache/catalina/connector/Response.java Sun Nov 30 14:58:06 2008
@@ -670,16 +670,38 @@
* been committed
*/
public void resetBuffer() {
+ resetBuffer(false);
+ }
+
+
+ /**
+ * Reset the data buffer and the using Writer/Stream flags but not any
+ * status or header information.
+ *
+ * @param resetWriterStreamFlags <code>true</code> if the internal
+ * <code>usingWriter</code>, <code>usingOutputStream</code>,
+ * <code>isCharacterEncodingSet</code> flags should also be reset
+ *
+ * @exception IllegalStateException if the response has already
+ * been committed
+ */
+ public void resetBuffer(boolean resetWriterStreamFlags) {
if (isCommitted())
throw new IllegalStateException
(sm.getString("coyoteResponse.resetBuffer.ise"));
outputBuffer.reset();
+
+ if(resetWriterStreamFlags) {
+ usingOutputStream = false;
+ usingWriter = false;
+ isCharacterEncodingSet = false;
+ }
}
-
+
/**
* Set the buffer size to be used for this Response.
*
Modified: tomcat/tc6.0.x/trunk/java/org/apache/catalina/core/StandardHostValve.java
URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/catalina/core/StandardHostValve.java?rev=721921&r1=721920&r2=721921&view=diff
==============================================================================
--- tomcat/tc6.0.x/trunk/java/org/apache/catalina/core/StandardHostValve.java (original)
+++ tomcat/tc6.0.x/trunk/java/org/apache/catalina/core/StandardHostValve.java Sun Nov 30 14:58:06 2008
@@ -368,7 +368,7 @@
if (exception == null)
return (null);
- Class clazz = exception.getClass();
+ Class<?> clazz = exception.getClass();
String name = clazz.getName();
while (!Object.class.equals(clazz)) {
ErrorPage errorPage = context.findErrorPage(name);
@@ -405,16 +405,8 @@
request.setPathInfo(errorPage.getLocation());
try {
-
- // Reset the response if possible (else IllegalStateException)
- //hres.reset();
// Reset the response (keeping the real error code and message)
- Integer statusCodeObj =
- (Integer) request.getAttribute(Globals.STATUS_CODE_ATTR);
- int statusCode = statusCodeObj.intValue();
- String message =
- (String) request.getAttribute(Globals.ERROR_MESSAGE_ATTR);
- response.reset(statusCode, message);
+ response.resetBuffer(true);
// Forward control to the specified location
ServletContext servletContext =
Modified: tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml
URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml?rev=721921&r1=721920&r2=721921&view=diff
==============================================================================
--- tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml Sun Nov 30 14:58:06 2008
@@ -70,6 +70,11 @@
<bug>41407</bug>: Add CLIENT-CERT support to the JAAS Realm. (markt)
</add>
<fix>
+ <bug>42409</bug>: Make custom and standard error page handling
+ consistent by using resetBuffer() which will not alter previously set
+ headers. (markt)
+ </fix>
+ <fix>
<bug>43656</bug>: Correct regression in previous fix for this bug. Patch
provided by Nils Eckert. (markt)
</fix>
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org