couchdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Adam Kocoloski <>
Subject Re: Allow overridden request methods
Date Thu, 14 May 2009 15:39:36 GMT
On May 14, 2009, at 11:35 AM, Paul Davis wrote:

> On Thu, May 14, 2009 at 3:26 AM, Brian Candler <>  
> wrote:
>> On Wed, May 13, 2009 at 06:58:47PM +0200, Jan Lehnardt wrote:
>>>> Sorry for responding to my original message instead of a reply in  
>>>> the
>>>> thread, but I seem to be having some issues with the mailing list.
>>>> Oliver, you are right, I could use a javascript wrapper for  
>>>> flash. The
>>>> problem with that is that it introduces a second dependency to
>>>> interact with the REST interface.
>>> It adds a second API and complexity to CouchDB to support
>>> non-standard clients. I.e: If you don't speak HTTP, you can't
>>> talk to CouchDB.
>> I think you'll find this is extremely common; many clients  
>> especially don't
>> implement DELETE.
>> The way Rails deals with it is to allow a form POST to have a  
>> _method field,
>> and if it's present, it takes precedence over the HTTP method.
>> actionpack/lib/action_view/helpers/url_helper.rb:
>>          method_tag = tag('input', :type => 'hidden', :name =>  
>> '_method', :value => method.to_s)
>> Of course, CouchDB doesn't take a application/x-www-form- 
>> urlencoded, it
>> takes an application/json body. So I think the nearest equivalent  
>> would be
>> to allow a "_method" member in the JSON body and honour it for all  
>> requests [with JSON bodies]. Conveniently, CouchDB has already  
>> reserved all
>> top-level keys beginning with underscores for its own purposes.
>> Regards,
>> Brian.
> Eww. I'm all for supporting clients that have a brain dead HTTP
> interface, but piggybacking protocol information into the payload
> seems like not a good idea. If we're going to allow method overrides
> I'd vote +10 internets for the header version.

I'm with Paul here.  So that's +20 internets.

> But until someone shows me something that can't be accomplished using
> the _bulk_docs API I'd be -0 on supporting the header even.

Hmm, I don't know about this one.  If Mikael is right and X-HTTP- 
Method-Override is becoming a de facto standard, I think supporting  
that would be preferable to playing up our non-RESTful _bulk_docs hacks.


View raw message