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