Spec-Zone.ru › Ruby on Rails 6.0

класс ActionDispatch::Static

Родитель:
Объект

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

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

Публичные методы класса

new(app, path, index: "index", headers: {}) Показать исходный код
# File actionpack/lib/action_dispatch/middleware/static.rb, line 110
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 115
def call(env)
  req = Rack::Request.new env

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

  @app.call(req.env)
end

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

Spec-Zone.ru

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