Search code examples
tomcatjrubyonrailswarblerjruby-rack

Does the jruby-rack servlet container support PUT/DELETE?


I'm trying to deploy a Rails app as a WAR using Warbler. I have it running in Tomcat 6 and it seems to be running fine. However, all of my PUT and DELETE requests are getting rejected with a 403 (Forbidden).

From what I've been able to gather, the default Tomcat install on Debian/Ubuntu has these methods disabled via:

<init-param>
   <param-name>readonly</param-name>
   <param-value>true</param-value>
</init-param>

I've tried setting this to false in my /etc/tomcat6/web.xml but no dice. I wonder if I have to do something similar to the jruby-rack servlet container packaged by Warbler in my WAR? If so, how would I go about this?

If not, why would Tomcat be rejecting all of the PUTs and DELETEs being sent to my Rails app?


Solution

  • Just for extra detail, here is the relevant bug on jruby-rack:

    https://github.com/jruby/jruby-rack/issues/105

    It looks like a fix is in progress at the time of this writing.