jruby/jruby-rack

1.1.14 doesn't serve some static files (e.g. 404.html) with rails 4.1

Closed this issue · 2 comments

Certain static files as the *.html in the war root and images (precompiled asset pipeline files) aren't properly served. With CSS- and JS-Files there doesn't seem to be any issues though.

Jetty returns a correct HEAD 200 with the correct Content-Length but doesn't deliver the body, i.e. the files get delivered but don't have any content. E.g. for the 404.html the page is shown with blank content.

  • Warbler 1.4.2 with default settings for creating the war file.
  • Jetty 6.1.26-1ubuntu1
  • Ubuntu 14.04 lts
  • Java java-7-oracle / java-6-openjdk-amd64
  • Rails setting: config.serve_static_assets = false
  • Rails 4.1

Version 1.1.13.3 works.

confirming regression since 1.1.13.3 reproduced on Jetty 8.1 (interestingly Tomcat works) on Rails 3.2

  # Disable Rails's static asset server (Apache or nginx will already do this)
  config.serve_static_assets = false
  # Compress JavaScripts and CSS
  config.assets.compress = true
  # Don't fallback to assets pipeline if a precompiled asset is missed
  config.assets.compile = false
  # Generate digests for assets URLs
  config.assets.digest = true

regression seems to be caused by changing the ResponseCapture#isHandled implementation at : c83c65a#diff-9181274897bfb6cec39d09aca79e9cdeL168