[Zope3-dev] Other (than GET and POST) HTTP Methods

Stephan Richter stephan.richter@tufts.edu
Wed, 08 Jan 2003 05:47:55 -0500


On Tuesday 07 January 2003 14:41, Jim Fulton wrote:
> One of these days, we need to implement:
>
> - PUT

Dumb question: Is put used outside of WebDAV as well? If so where and how does 
it behave?

> - WebDAV (which adds a bunch of additional HTTP methods)

Do you have any links to docs? I will check the Z2 implementatin as well.

> I've been pondering how to approach this. In particular, I've been
> wondering how people should provide implementations of these methods.
>
> The alternatives I can think of are:
>
> - Implement HTTP Views that have methods for each of the HTTP methods
>    other than GET and POST. I think that this is too course grained,
>    as views would need to implement every method someone might want to
>    use.

I agree with the criticism.

> - Treat each method (or some grouping of methods) as a view type.
>    For example, we've treated the pair of methods, GET and POST as
>    the "Browser" view type.  The problem is that I'm not sure there
>    are good groupings. For example, WebDAV uses GET and PUT, as well as
>    several WebDAV-specific methods.

I think I like this one the best. Does a duplication of the methods really 
matter or is there a conflict if we do? Should WebDAV run on the same port as 
BrowserHTTP? If not, we do the same as we did for XML-RPC and just create a 
WebDAVPublisher that is derived from HTTPPublisher.

Oh, at this point I remember how Shane and I planned all this out! I was 
right, we should have another type of HTTPPublisher, called WebDAVPublisher, 
which does all the right things. Then you can create either a server that 
starts the WebDAV service on a seperate port or you write a RequestFactory 
that knows how to correctly decide between BrowserHTTP or WebDAVHTTP. Note 
that this way you could also merge XML-RPC onto the same port, if you wish. 
Back in March Shane and I punted on writing more complex server components, 
since it was too much work... But I would ask him for details, as he had the 
vision on all of this. ;-)

Regards,
Stephan
-- 
Stephan Richter
CBU Physics & Chemistry (B.S.) / Tufts Physics (Ph.D. student)
Web2k - Web Software Design, Development and Training