Class: Rails::Rack::Static
Constant Summary collapse
- FILE_METHODS =
%w(GET HEAD).freeze
Instance Method Summary collapse
- #call(env) ⇒ Object
-
#initialize(app) ⇒ Static
constructor
A new instance of Static.
Constructor Details
Instance Method Details
#call(env) ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/rails/rack/static.rb', line 13 def call(env) path = env['PATH_INFO'].chomp('/') method = env['REQUEST_METHOD'] if FILE_METHODS.include?(method) if file_exist?(path) return @file_server.call(env) else cached_path = directory_exist?(path) ? "#{path}/index" : path cached_path += ::ActionController::Base.page_cache_extension if file_exist?(cached_path) env['PATH_INFO'] = cached_path return @file_server.call(env) end end end @app.call(env) end |