Class: ActionDispatch::Static
- Inherits:
-
Object
- Object
- ActionDispatch::Static
- Defined in:
- lib/action_dispatch/middleware/static.rb
Constant Summary collapse
- FILE_METHODS =
%w(GET HEAD).freeze
Instance Method Summary collapse
- #call(env) ⇒ Object
-
#initialize(app, root) ⇒ Static
constructor
A new instance of Static.
Constructor Details
Instance Method Details
#call(env) ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/action_dispatch/middleware/static.rb', line 12 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 |