[ https://issues.apache.org/jira/browse/COUCHDB-815?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12885118#action_12885118 ]
Jason Smith commented on COUCHDB-815: ------------------------------------- A workaround if you have admin access is to make an Erlang design document with a show function to define those atoms: { "_id": "_design/enable_dav", "usage": "curl localhost:5984/dav/_design/enable_dav/_show/add_atoms", "language": "erlang", "shows": { "add_atoms": "fun(Doc, {Req}) -> 'PROPFIND', 'PROPPATCH', 'MKCOL', 'COPY', 'MOVE', 'LOCK', 'UNLOCK', {[{<<\"body\">>, <<\"WebDAV enabled\\n\">>}]} end." } } And then you hit the view once per VM execution. > Non-standard HTTP methods for view handlers (AKA WebDAV is b0rken) [PATCH] > -------------------------------------------------------------------------- > > Key: COUCHDB-815 > URL: https://issues.apache.org/jira/browse/COUCHDB-815 > Project: CouchDB > Issue Type: Bug > Components: Database Core > Affects Versions: 1.0 > Reporter: Jason Smith > Priority: Minor > Attachments: bad_allow_any_http_method.patch > > > CouchDB prevents the new view server handler methods, _show, _update, etc. > from handling unknown HTTP methods. This prevents Couch apps from being able > to implement extensions to the HTTP specification or to add > application-specific methods to HTTP, violating the spirit of _show and > _update. > For example, it is not possible to make a CouchApp WebDAV server because > _show and _list must support the PROPFIND method. > In couch_httpd:handle_request_int/5, the response from Mochi is coerced to an > atom if and only if the atom already exists (using > couch_util:to_existing_atom/1). That is an odd whitelist, to say the least: > $ curl localhost:5984 -X PROPFIND # Crashes mochiweb when > to_existing_atom throws badarg > curl: (52) Empty reply from server > $ curl localhost:5984 -X list_to_binary # Any atom works > {"error":"method_not_allowed","reason":"Only GET,HEAD allowed"} > Considering the cURL commands above, I filed this as a bug, not a feature. I > will explore some options and submit patches. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.