use Rack::Sendfile — добавляет заголовок X-Sendfile при отправке файла, чтобы вебсервер знал какой файл отдать пользователю use Rack::Runtime — ставит x-runtime заголовок, который показывает сколько длилась обработка запроса use Rack::MethodOverride — меняет метод запроса, чтобы использовать один код для разных методов use Rack::Head — превращает head запросы в get use Rack::ConditionalGet — используется, чтобы показать когда изменилась страница https://api.rubyonrails.org/classes/ActionController/ConditionalGet.html use Rack::ETag — ставит ETag заголовок, чтобы вебсервер знал какая версия страницы будет одаваться use Rack::TempfileReaper — чистит временные файлы после реквеста ActionDispatch use ActionDispatch::HostAuthorization — авторизация use ActionDispatch::Static — проверяет, есть ли файл на диске по запрошенному адресу. Если нет, запускает приложение use ActionDispatch::Executor — в девеломпменте перезагружает код в тредсейф режиме use ActionDispatch::ServerTiming — цепляет к запросу время его выполнения use ActiveSupport::Cache::Strategy::LocalCache::Middleware — использует ОЗУ как хранилище для кэша use ActionDispatch::RequestId — добавляет в ответ заголовок X-Request-Id use ActionDispatch::RemoteIp — проверяет, не использует ли пользователь подмену IP use ActionDispatch::ShowExceptions — ловит все ошибки приложения, чтобы показать пользователю use ActionDispatch::DebugExceptions — показывает страничку с бэктрейсом ошибки use ActionDispatch::ActionableExceptions — даёт возможность отправлять ошибки из страниц ошибок use ActionDispatch::Reloader — перезагружает код в девеломенте use ActionDispatch::Callbacks — коллбеки до и после запроса use ActiveRecord::Migration::CheckPending — проверяет, есть ли миграции, которые ещё не прогонялись по базе use ActionDispatch::Cookies — ставит куки в запрос use ActionDispatch::Session::CookieStore — сохраняет куки на сервере use ActionDispatch::Flash — ставит флеш сообщения в ответ use ActionDispatch::ContentSecurityPolicy::Middleware — добавляет заголовок Content-Security-Policy в ответ use ActionDispatch::PermissionsPolicy::Middleware — устанавливает Permissions-Policy заголовок для страницы: можно ли включать камеру, акселерометр, полный экран и прочее https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Permissions-Policy#directives use Sprockets::Rails::QuietAssets — выключает сборку ассетов в логах use Rails::Rack::Logger — пишет запросы в лог use WebConsole::Middleware — добавляет обработку запросов по адресу /__web_console, чтобы со страницы ошибки вы могли отлаживать приложение run Hello::Application.routes