[Zope] Re: Apache 1.3.26 cache problem with ImageFile (misc_ and p_
images) ZOPE 2.7
Steven Hayles
sh23 at le.ac.uk
Mon Jun 28 07:13:42 EDT 2004
Adding 2 lines to lib/python/App/ImageFile.py seems to fix it
import stat
RESPONSE.setHeader('Content-Length', os.stat(self.path)[stat.ST_SIZE])
Here's a diff:
--- ImageFile.py.orig Tue Feb 11 17:17:04 2003
+++ ImageFile.py Mon Jun 28 11:42:38 2004
@@ -16,6 +16,7 @@
import os
import time
+import stat
from App.config import getConfiguration
from OFS.content_types import guess_content_type
@@ -82,6 +83,7 @@
last_mod = long(0)
if last_mod > 0 and last_mod <= mod_since:
RESPONSE.setStatus(304)
+ RESPONSE.setHeader('Content-Length',
os.stat(self.path)[stat.ST_SIZE])
return ''
f=open(self.path,'rb')
Steven Hayles wrote:
>
> I think I'm seeing a bug in the 304 handling of Apache or ImageFile (as
> used by misc_ and p_ images such as /p_/pl the plus in a box). I have
> Apache working as a proxy/cache in front on ZOPE. Everything is fine
> until I perform a forced refresh on one of these images. ZOPE replies to
> Apache with a 304 status but with a Content-length header of 0. From
> then on, Apache serves a zero length image.
>
> The code for FSImage and Image sets the Content-length header to the
> length of the data that would have been sent. Image has the comment:
>
> # Set header values since apache caching will return Content-Length
> # of 0 in response if size is not set here
>
> Does the code for ImageFile need to do similarly, or do I just need a
> later version of Apache?
>
> Thanks
>
> Steven
>
>
> _______________________________________________
> Zope maillist - Zope at zope.org
> http://mail.zope.org/mailman/listinfo/zope
> ** No cross posts or HTML encoding! **
> (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce
> http://mail.zope.org/mailman/listinfo/zope-dev )
>
More information about the Zope
mailing list