123456789_123456789_123456789_123456789_123456789_

Class: ActionDispatch::Static

Relationships & Source Files
Inherits: Object
Defined in: actionpack/lib/action_dispatch/middleware/static.rb

Overview

This middleware serves static files from disk, if available. If no file is found, it hands off to the main app.

In Rails apps, this middleware is configured to serve assets from the public/ directory.

Only GET and HEAD requests are served. POST and other HTTP methods are handed off to the main app.

Only files in the root directory are served; path traversal is denied.

Class Method Summary

Instance Method Summary

Constructor Details

.new(app, path, index: "index", headers: {}) ⇒ Static

[ GitHub ]

  
# File 'actionpack/lib/action_dispatch/middleware/static.rb', line 18

def initialize(app, path, index: "index", headers: {})
  @app = app
  @file_handler = FileHandler.new(path, index: index, headers: headers)
end

Instance Method Details

#call(env)

[ GitHub ]

  
# File 'actionpack/lib/action_dispatch/middleware/static.rb', line 23

def call(env)
  @file_handler.attempt(env) || @app.call(env)
end