[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