[silva-dev] extended HTTP method support in 2.3

Sylvain Viollon sylvain at infrae.com
Thu Apr 28 09:53:12 CEST 2011


On Wed, 27 Apr 2011 11:09:42 -0500
Andy Altepeter <aaltepet at altepeter.net> wrote:

> Greetings Devs,
> 

  Hello,


  I will have a more complete response after, as I need to do some
  testing.

> Our current production environment is Silva 2.1.  We have a lot built
> on top of Silva.  We found in the zope error logs that for our various
> browser views attached to Silva Objects (e.g. those accessed via
> @@somename.html), we saw a number of errors for PROPFIND and OPTIONS
> requests.  It turns out that Five views did not handle these HTTP
> methods.  (they didn't handle HEAD, either).
> 
> Infrae added a hack to support HEAD in Products.SilvaLayout (using
> MyRolesProxy).  MyRolesProxy essentially tells the object the view is
> on to handle the requested http method.We've employed the same
> approach for PROPFIND and OPTIONS.
> 
> Silva 2.3 is a huge restructing.  In particular, silva.core.views and
> silva.core.layout were added.  silva.core.views.views.SilvaPage DOES
> support the HEAD method.
> 

  We don't really use anymore the hacked and never quite worked Five
  views.

> However, it does not support OPTIONS and PROPFIND.  Not only are they
> not supported, Silva does not fail gracefully.  (see attached telnet
> session for doing an OPTIONS on /silva/index.html).
> 

  Those are not implemented. I will see if it needed and what they
  should do. Since they are not implemented, I guess this fallback to
  the never quite worked Zope 2 WebDAV support try-o-clever-but-failed
  to distinguish a web browser from a webdav request.


> I'd like to see support for OPTIONS and PROPFIND (at least), or some
> means of proxying all http methods not handled by the SilvaPage to the
> context itself.  Silva isn't in control of what clients request, and
> _should_ fail gracefully if it refuses to handle standard http methods
> on SilvaPages.
> 
> On a related note, there seems to be some issue with the OPTIONS
> request to a Silva object.  I think this is in infrae.wsgi.  Here's a
> telnet session:

  It is just that that the OPTIONS query doesn't return a string.
  Probably None. That is not supported in WSGI (all return values must
  be string).

  But I will have a look in detail.

  Regards,

  Sylvain,

-- 
Sylvain Viollon -- Infrae
t +31 10 243 7051 -- http://infrae.com
Hoevestraat 10 3033GC Rotterdam -- The Netherlands


More information about the silva-dev mailing list