diff options
Diffstat (limited to 'railties/lib/rails')
3 files changed, 19 insertions, 6 deletions
| diff --git a/railties/lib/rails/application/configuration.rb b/railties/lib/rails/application/configuration.rb index 4fc7a1db62..b7c6244934 100644 --- a/railties/lib/rails/application/configuration.rb +++ b/railties/lib/rails/application/configuration.rb @@ -11,12 +11,12 @@ module Rails                      :eager_load, :exceptions_app, :file_watcher, :filter_parameters,                      :force_ssl, :helpers_paths, :logger, :log_formatter, :log_tags,                      :railties_order, :relative_url_root, :secret_key_base, :secret_token, -                    :serve_static_files, :ssl_options, :static_cache_control, :static_index, +                    :serve_static_files, :ssl_options, :static_index, :public_file_server,                      :session_options, :time_zone, :reload_classes_only_on_change,                      :beginning_of_week, :filter_redirect, :x        attr_writer :log_level -      attr_reader :encoding, :api_only +      attr_reader :encoding, :api_only, :static_cache_control        def initialize(*)          super @@ -27,8 +27,8 @@ module Rails          @filter_redirect               = []          @helpers_paths                 = []          @serve_static_files            = true -        @static_cache_control          = nil          @static_index                  = "index" +        @public_file_server            = ActiveSupport::OrderedOptions.new          @force_ssl                     = false          @ssl_options                   = {}          @session_store                 = :cookie_store @@ -53,6 +53,14 @@ module Rails          @x                             = Custom.new        end +      def static_cache_control=(value) +        ActiveSupport::Deprecation.warn("static_cache_control is deprecated and will be removed in Rails 5.1. " \ +                                        "Please use `config.public_file_server.headers = {'Cache-Control' => #{value}} " \ +                                        "instead.") + +        @static_cache_control = value +      end +        def encoding=(value)          @encoding = value          silence_warnings do 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 diff --git a/railties/lib/rails/generators/rails/app/templates/config/environments/test.rb.tt b/railties/lib/rails/generators/rails/app/templates/config/environments/test.rb.tt index 0306deb18c..5165100c22 100644 --- a/railties/lib/rails/generators/rails/app/templates/config/environments/test.rb.tt +++ b/railties/lib/rails/generators/rails/app/templates/config/environments/test.rb.tt @@ -13,8 +13,10 @@ Rails.application.configure do    config.eager_load = false    # Configure static file server for tests with Cache-Control for performance. -  config.serve_static_files   = true -  config.static_cache_control = 'public, max-age=3600' +  config.serve_static_files         = true +  config.public_file_server.headers = { +    'Cache-Control' => 'public, max-age=3600' +  }    # Show full error reports and disable caching.    config.consider_all_requests_local       = true | 
