[Zope-CMF] Re: [CMF-checkins] CVS: Products/CMFCore -
FSImage.py:1.14.18.7
Chris McDonough
chrism at plope.com
Wed Jun 8 10:24:42 EDT 2005
Is this actually a fix for http://www.zope.org/Collectors/CMF/333 as
opposed to 355?
On Wed, 2005-06-08 at 09:16 -0400, Tres Seaver wrote:
> Update of /cvs-repository/Products/CMFCore
> In directory cvs.zope.org:/tmp/cvs-serv12605/CMFCore
>
> Modified Files:
> Tag: CMF-1_4-branch
> FSImage.py
> Log Message:
>
>
> - Set cache headers in 304 responses from FSImage / FSFile
> (http://zope.org/Collectors/355)
>
>
> === Products/CMFCore/FSImage.py 1.14.18.6 => 1.14.18.7 ===
> --- Products/CMFCore/FSImage.py:1.14.18.6 Mon Apr 25 16:06:49 2005
> +++ Products/CMFCore/FSImage.py Wed Jun 8 09:15:49 2005
> @@ -94,8 +94,11 @@
> """
> self._updateFromFS()
> data = self._data
> + data_len = len(data)
> + last_mod = self._file_mod_time
> + status = 200
> # HTTP If-Modified-Since header handling.
> - header=REQUEST.get_header('If-Modified-Since', None)
> + header = REQUEST.get_header('If-Modified-Since', None)
> if header is not None:
> header=string.split(header, ';')[0]
> # Some proxies seem to send invalid date strings for this
> @@ -104,26 +107,26 @@
> # with common servers such as Apache (which can usually
> # understand the screwy date string as a lucky side effect
> # of the way they parse it).
> - try: mod_since=long(DateTime(header).timeTime())
> - except: mod_since=None
> + try:
> + mod_since = long(DateTime(header).timeTime())
> + except:
> + mod_since = None
> +
> if mod_since is not None:
> - last_mod = self._file_mod_time
> if last_mod > 0 and last_mod <= mod_since:
> - # Set header values since apache caching will return
> - # Content-Length of 0 in response if size is not set here
> - RESPONSE.setHeader('Last-Modified', rfc1123_date(last_mod))
> - RESPONSE.setHeader('Content-Type', self.content_type)
> - RESPONSE.setHeader('Content-Length', len(data))
> - RESPONSE.setStatus(304)
> - return ''
> + status = 304
> + data = ''
>
> - #Last-Modified will get stomped on by a cache policy it there is one set....
> - RESPONSE.setHeader('Last-Modified', rfc1123_date(self._file_mod_time))
> + #Last-Modified will get stomped on by a cache policy it there is
> + #one set....
> + RESPONSE.setStatus(status)
> + RESPONSE.setHeader('Last-Modified', rfc1123_date(last_mod))
> RESPONSE.setHeader('Content-Type', self.content_type)
> - RESPONSE.setHeader('Content-Length', len(data))
> + RESPONSE.setHeader('Content-Length', data_len)
>
> - #There are 2 Cache Managers which can be in play....need to decide which to use
> - #to determine where the cache headers are decided on.
> + #There are 2 Cache Managers which can be in play....
> + #need to decide which to use to determine where the cache headers
> + #are decided on.
> if self.ZCacheable_getManager() is not None:
> self.ZCacheable_set(None)
> else:
>
> _______________________________________________
> CMF-checkins mailing list
> CMF-checkins at zope.org
> http://mail.zope.org/mailman/listinfo/cmf-checkins
>
More information about the Zope-CMF
mailing list