diff options
author | Yuki Nishijima <mail@yukinishijima.net> | 2015-05-01 19:12:45 -0700 |
---|---|---|
committer | Yuki Nishijima <mail@yukinishijima.net> | 2015-06-13 09:30:23 -0700 |
commit | 52260581638406d910e09e8d2e66b51acb76c5c6 (patch) | |
tree | 489fda2ba90d2a39abedf87890db19bcd7c1bc6a /railties/lib/rails/application/default_middleware_stack.rb | |
parent | dfc9269517d787d187ee46c798a4ea0893de0381 (diff) | |
download | rails-52260581638406d910e09e8d2e66b51acb76c5c6.tar.gz rails-52260581638406d910e09e8d2e66b51acb76c5c6.tar.bz2 rails-52260581638406d910e09e8d2e66b51acb76c5c6.zip |
Add the ability of returning arbitrary headers to ActionDispatch::Static
Now ActionDispatch::Static can accept HTTP headers so that developers
will have control of returning arbitrary headers like
'Access-Control-Allow-Origin' when a response is delivered. They can
be configured through `#config.public_file_server.headers`:
config.public_file_server.headers = {
"Cache-Control" => "public, max-age=60",
"Access-Control-Allow-Origin" => "http://rubyonrails.org"
}
Also deprecate `config.static_cache_control` in favor of
`config.public_file_server.headers`.
Diffstat (limited to 'railties/lib/rails/application/default_middleware_stack.rb')
-rw-r--r-- | railties/lib/rails/application/default_middleware_stack.rb | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/railties/lib/rails/application/default_middleware_stack.rb b/railties/lib/rails/application/default_middleware_stack.rb index 6f9ccec137..6c0b60f1ec 100644 --- a/railties/lib/rails/application/default_middleware_stack.rb +++ b/railties/lib/rails/application/default_middleware_stack.rb @@ -18,7 +18,10 @@ module Rails middleware.use ::Rack::Sendfile, config.action_dispatch.x_sendfile_header if config.serve_static_files - middleware.use ::ActionDispatch::Static, paths["public"].first, config.static_cache_control, index: config.static_index + headers = config.public_file_server.headers || {} + headers['Cache-Control'.freeze] = config.static_cache_control if config.static_cache_control + + middleware.use ::ActionDispatch::Static, paths["public"].first, index: config.static_index, headers: headers end if rack_cache = load_rack_cache |