vgritsenko    2002/06/04 18:41:35

  Modified:    src/java/org/apache/cocoon/reading ResourceReader.java
  Log:
  Fix not yet found bug: One can not set headers when response is already written to 
the out
  
  Revision  Changes    Path
  1.14      +11 -11    
xml-cocoon2/src/java/org/apache/cocoon/reading/ResourceReader.java
  
  Index: ResourceReader.java
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon2/src/java/org/apache/cocoon/reading/ResourceReader.java,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- ResourceReader.java       5 Jun 2002 01:14:46 -0000       1.13
  +++ ResourceReader.java       5 Jun 2002 01:41:35 -0000       1.14
  @@ -89,7 +89,7 @@
    *   </dl>
    *
    * @author <a href="mailto:[EMAIL PROTECTED]";>Giacomo Pati</a>
  - * @version CVS $Id: ResourceReader.java,v 1.13 2002/06/05 01:14:46 vgritsenko Exp $
  + * @version CVS $Id: ResourceReader.java,v 1.14 2002/06/05 01:41:35 vgritsenko Exp $
    */
   public class ResourceReader
     extends AbstractReader
  @@ -169,23 +169,23 @@
                   response.setDateHeader("Expires", System.currentTimeMillis() + 
expires);
               }
   
  +            long contentLength = this.inputSource.getContentLength();
  +            if (contentLength != -1) {
  +                // FIXME (VG): Environment has setContentLength, and
  +                // Response interface has not. Strange.
  +                response.setHeader("Content-Length", Long.toString(contentLength));
  +            }
  +
  +            // Bug #9539: This resource reader does not support ranges
  +            response.setHeader("Accept-Ranges", "none");
  +
               byte[] buffer = new byte[8192];
               int length = -1;
  -            long contentLength = 0;
   
               InputStream inputStream = this.inputSource.getInputStream();
               while ((length = inputStream.read(buffer)) > -1) {
                   out.write(buffer, 0, length);
  -                contentLength += length;
               }
  -
  -            // FIXME (VG): Environment has setContentLength, and
  -            // Response interface has not. Strange.
  -            response.setHeader("Content-Length", Long.toString(contentLength));
  -
  -            // Bug #9539: This resource reader does not support ranges
  -            response.setHeader("Accept-Ranges", "none");
  -
               inputStream.close();
               inputStream = null;
               out.flush();
  
  
  

----------------------------------------------------------------------
In case of troubles, e-mail:     [EMAIL PROTECTED]
To unsubscribe, e-mail:          [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to