Objects that inherit from Folder (and therefore from Collection) and
also have an index_html that's a Python method (or othewise
nonvanilla, presumably) return a 405 (Method Not Allowed) for HTTP
Zope 2.5.1 raises on line 57 of Collection.py. The object raises if
its index_html member doesn't have a HEAD attribute.
Surely it's a bug to only give HEAD for objects that return an
index_html via hasattr/getattr. What about getitem,
__bobo_traverse__, and __call__? Shouldn't we find the object to HEAD
via ZPublisher? And aren't we bypassing the access control checks,
Would it be a good idea to try and make up a HEAD response for
arbitrary attributes that don't support it (such as Python methods)?
Perhaps by publishing them internally, and picking whatever we can
from RESPONSE, computing Content-Length from the returned stream if
necessary? It's inefficient, but at least it's cache-friendly... and
better for tools (er, linbot) that assume that if it can't be found
via HEAD, it isn't there.
Excerpt from Collection.HEAD():
# Note that we are willing to acquire the default document
# here because what we really care about is whether doing
# a GET on this collection / would yield a 200 response.
if hasattr(self, 'index_html'):
if hasattr(self.index_html, 'HEAD'):
return self.index_html.HEAD(REQUEST, RESPONSE)
raise 'Method Not Allowed', (
'Method not supported for this resource.'
raise 'Not Found', 'The requested resource does not exist.'
persephone ~/tmp= telnet viii.dclxvi.org 80
Connected to viii.dclxvi.org.
Escape character is '^]'.
HEAD /blog HTTP/1.0
HEAD /blog HTTP/1.0
HTTP/1.1 405 Method Not Allowed
Date: Thu, 06 Jun 2002 02:22:40 GMT
Server: Apache/1.3.12 (Unix) mod_ssl/2.6.6 OpenSSL/0.9.5a
Bobo-Exception-Type: Method Not Allowed
Bobo-Exception-Value: bobo exception
X-Powered-By: Zope (www.zope.org), Python (www.python.org)
Karl Anderson [EMAIL PROTECTED] http://www.monkey.org/~kra/
Zope-Dev maillist - [EMAIL PROTECTED]
** No cross posts or HTML encoding! **
(Related lists -