Spec-Zone.ru › Ruby on Rails 5.2

класс ActionDispatch::Static

Родитель:
Object

Этот middleware попытается вернуть содержимое тела файла с диска в ответ. Если файл не найден на диске, запрос будет делегирован стеку приложения. Этот middleware обычно инициализируется для предоставления ресурсов из директории сервера public/.

Этот middleware проверяет путь, чтобы гарантировать, что отображаются только файлы, находящиеся в корневой директории. Запрос не может выполнить обход каталогов с использованием этого middleware. Только запросы 'GET' и 'HEAD' приведут к возврату файла.

Публичные Классовые Методы

new(app, path, index: "index", headers: {}) Показать исходный код
# File actionpack/lib/action_dispatch/middleware/static.rb, line 111
def initialize(app, path, index: "index", headers: {})
  @app = app
  @file_handler = FileHandler.new(path, index: index, headers: headers)
end

Публичные Методы Экземпляров

call(env) Показать исходный код
# File actionpack/lib/action_dispatch/middleware/static.rb, line 116
def call(env)
  req = Rack::Request.new env

  if req.get? || req.head?
    path = req.path_info.chomp("/".freeze)
    if match = @file_handler.match?(path)
      req.path_info = match
      return @file_handler.serve(req)
    end
  end

  @app.call(req.env)
end

© 2004–2018 David Heinemeier Hansson
Licensed under the MIT License.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API