Перейти к содержанию

Middleware

Мидлварь должен имплементировать методы pre и/или post. pre вызывается до поиска хендлеров, а post после.

Мидлвари всегда распаковываются из labeler

Абстрактный класс для мидлварей - BaseMiddleware

Стандартные view:

pre может возвращать bool или dict:

  • True исполнение view проходит дальше
  • False исполнение view срочно останавливается
  • Dict[str, Any] в контекст добавляются аргемументы (ключ - имя аргумента)

Принимает pre в аргументы только ивент

post ничего не возвращает, принимает следующие аргументы:

  • Ивент
  • view: ABCView (с которым был обработан ивент)
  • handle_responses: list (все то что вернули хендлеры по порядку их исполнения)
  • handlers: List[ABCHandler] (все хендлеры что были исполнены)

Примеры смотреть здесь