class Rails::Configuration::MiddlewareStackProxy
MiddlewareStackProxy — это прокси для стека middleware Rails, который позволяет настраивать middleware в вашем приложении. Он работает в основном как регистратор команд, сохраняя каждую команду для применения после инициализации над стандартным стеком middleware, поэтому вы можете добавлять, заменять или удалять любой middleware в Rails.
Вы можете добавить собственные middleware, используя метод config.middleware.use:
config.middleware.use Magical::Unicorns
Это поместит middleware Magical::Unicorns в конец стека. Вы можете использовать insert_before, если хотите добавить middleware перед другим:
config.middleware.insert_before Rack::Head, Magical::Unicorns
Также есть insert_after, который вставит middleware после другого:
config.middleware.insert_after Rack::Head, Magical::Unicorns
Middleware также можно полностью заменить и заменить другими:
config.middleware.swap ActionDispatch::Flash, Magical::Unicorns
И, наконец, их также можно полностью удалить из стека:
config.middleware.delete ActionDispatch::Flash
Атрибуты
Публичные методы класса
# File railties/lib/rails/configuration.rb, line 38 def initialize(operations = [], delete_operations = []) @operations = operations @delete_operations = delete_operations end
Публичные методы экземпляра
# File railties/lib/rails/configuration.rb, line 61 def delete(*args, &block) @delete_operations << [__method__, args, block] end
# File railties/lib/rails/configuration.rb, line 49 def insert_after(*args, &block) @operations << [__method__, args, block] end
# File railties/lib/rails/configuration.rb, line 43 def insert_before(*args, &block) @operations << [__method__, args, block] end
# File railties/lib/rails/configuration.rb, line 53 def swap(*args, &block) @operations << [__method__, args, block] end
# File railties/lib/rails/configuration.rb, line 65 def unshift(*args, &block) @operations << [__method__, args, block] end
# File railties/lib/rails/configuration.rb, line 57 def use(*args, &block) @operations << [__method__, args, block] end
© 2004–2019 David Heinemeier Hansson
Licensed under the MIT License.