Teaching Mongrel other HTTP Methods (verbs)

I’m trying to build a simple CalDav server in a Rails application but
am running into a huge stumbling block. CalDav uses the HTTP protocol
but has it’s own set of methods – for example, instead of GET it has
a method called PROPFIND.

The problem is that Mongrel doesn’t like those methods and gives me
the following error:

“/!\ FAILSAFE /!\ Sat Sep 27 02:09:15 -0700 2008
Status: 500 Internal Server Error
propfind, accepted HTTP methods are delete, head, get, options,
post, and put”

Is there anyway to get around this and teach mongrel about the new
methods?

Thanks,
Jeremy

After some digging, I think I found a solution. To enable the
“PROPFIND” method I added this to the ApplicationController in
application.rb:

ActionController::ACCEPTED_HTTP_METHODS.merge( [ “propfind” ] )

  • Jeremy