larryi 01/02/25 20:34:17 Modified: src/share/org/apache/tomcat/core Response.java Log: Fix for Bugzilla Bug #92. Bug submitted by: Lamberton ([EMAIL PROTECTED]) The first real write to the response isn't guaranteed to occur in the top level request. Updated the notifyEndHeaders() method to do its function, even when called during an included request. Revision Changes Path 1.50 +11 -2 jakarta-tomcat/src/share/org/apache/tomcat/core/Response.java Index: Response.java =================================================================== RCS file: /home/cvs/jakarta-tomcat/src/share/org/apache/tomcat/core/Response.java,v retrieving revision 1.49 retrieving revision 1.50 diff -u -r1.49 -r1.50 --- Response.java 2001/02/20 03:17:56 1.49 +++ Response.java 2001/02/26 04:34:16 1.50 @@ -345,22 +345,31 @@ /** Signal that we're done with the headers, and body will follow. * Any implementation needs to notify ContextManager, to allow * interceptors to fix headers. + * Note: This can be called during an included request. */ public void notifyEndHeaders() throws IOException { commited=true; // let CM notify interceptors and give a chance to fix // the headers - if(request.getContext() != null && ! included ) { + if(request.getContext() != null ) { // call before body hooks ContextManager cm=request.getContext().getContextManager(); BaseInterceptor reqI[]= request.getContainer(). getInterceptors(Container.H_beforeBody); + // Since this can occur during an include, temporarily + // force included false and use top level request. + boolean saveIncluded = included; + included=false; + for( int i=0; i< reqI.length; i++ ) { - reqI[i].beforeBody( request, this ); + reqI[i].beforeBody( request.getTop(), this ); } + + // restore included state + included = saveIncluded; } // No action.. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]