Skip to content

Instantly share code, notes, and snippets.

@iL53n
Created March 26, 2023 15:09
Show Gist options
  • Select an option

  • Save iL53n/2d22f8f49e00dc085bccb0ebfd4dfca0 to your computer and use it in GitHub Desktop.

Select an option

Save iL53n/2d22f8f49e00dc085bccb0ebfd4dfca0 to your computer and use it in GitHub Desktop.
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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment