You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cocoon.apache.org by bu...@apache.org on 2003/11/10 18:43:14 UTC

DO NOT REPLY [Bug 24571] New: - Content-Length header missing

DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=24571>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=24571

Content-Length header missing

           Summary: Content-Length header missing
           Product: Cocoon 2
           Version: 2.1.2
          Platform: PC
        OS/Version: Windows NT/2K
            Status: NEW
          Severity: Normal
          Priority: Other
         Component: sitemap components
        AssignedTo: dev@cocoon.apache.org
        ReportedBy: tim@myadguys.com


with the following sitemap:

<map:match pattern="xsl/config1.xml">
  <map:read mime-type="text/xml" src="{global:xsl-root}/config.xml"/>
</map:match>

<map:match pattern="xsl/config2.xml">
  <map:generate src="{global:xsl-root}/config.xml"/>
  <map:serialize type="xml"/>
</map:match>


config1 returns:

HTTP/1.1 200 OK
X-Cocoon-Version: 2.1.2
Last-Modified: Mon, 10 Nov 2003 17:22:35 GMT
Content-Type: text/xml
Content-Length: 1038
Date: Mon, 10 Nov 2003 17:29:25 GMT
Server: Apache Coyote/1.0
Connection: close


while config2 returns no Content-Length, which is required by the HTTP 1.1 spec:

HTTP/1.1 200 OK
X-Cocoon-Version: 2.1.2
Content-Type: text/xml
Date: Mon, 10 Nov 2003 17:25:55 GMT
Server: Apache Coyote/1.0
Connection: close


if you use a caching pipeline, cached requests will return a correct Content-
Length but touching the source file invalidates the cache and shows the missing 
Content-Length behavior again.
the reader gives the correct content-length even when caching is disabled.

this bug is more severe than it sounds, because java socket code that reads 
from the generated (no content-length) URL may terminate before the entire 
stream is read (if the content is large enough)