aboutsummaryrefslogtreecommitdiffstats
path: root/railties/lib
diff options
context:
space:
mode:
authorPiotr Sarnacki <drogus@gmail.com>2012-03-03 20:05:45 +0100
committerPiotr Sarnacki <drogus@gmail.com>2012-03-03 20:46:56 +0100
commit55dd060347bbd89c21b4c0e30ba8fbf4ad792c4e (patch)
treed5d026a5c04f4ae6ee839a9156d06b64be5a9d95 /railties/lib
parent4443b3647d9e350713eb20a720997ded62b6848e (diff)
downloadrails-55dd060347bbd89c21b4c0e30ba8fbf4ad792c4e.tar.gz
rails-55dd060347bbd89c21b4c0e30ba8fbf4ad792c4e.tar.bz2
rails-55dd060347bbd89c21b4c0e30ba8fbf4ad792c4e.zip
Handle files from ActionDispatch::Static with Rack::Sendfile (fixes #5225)
This makes rails behave properly when you serve static assets and you have X-Sendfile headers enabled. Nevertheless in most cases you should not rely on that and serve static assets with a webserver like Apache or Nginx (as you already have it in place anyway if you use X-Sendfile)
Diffstat (limited to 'railties/lib')
-rw-r--r--railties/lib/rails/application.rb8
1 files changed, 4 insertions, 4 deletions
diff --git a/railties/lib/rails/application.rb b/railties/lib/rails/application.rb
index c163081bfc..8d64aff430 100644
--- a/railties/lib/rails/application.rb
+++ b/railties/lib/rails/application.rb
@@ -229,6 +229,10 @@ module Rails
middleware.use ::Rack::SSL, config.ssl_options
end
+ if config.action_dispatch.x_sendfile_header.present?
+ middleware.use ::Rack::Sendfile, config.action_dispatch.x_sendfile_header
+ end
+
if config.serve_static_assets
middleware.use ::ActionDispatch::Static, paths["public"].first, config.static_cache_control
end
@@ -242,10 +246,6 @@ module Rails
middleware.use ::ActionDispatch::DebugExceptions
middleware.use ::ActionDispatch::RemoteIp, config.action_dispatch.ip_spoofing_check, config.action_dispatch.trusted_proxies
- if config.action_dispatch.x_sendfile_header.present?
- middleware.use ::Rack::Sendfile, config.action_dispatch.x_sendfile_header
- end
-
unless config.cache_classes
app = self
middleware.use ::ActionDispatch::Reloader, lambda { app.reload_dependencies? }