Идея hooks хоть и хороша, но 1) Полностью отсутствует нормальная схема прекращения обработки запроса (хук все сделал). die порождает warning и просто увеличивает цену обработки запроса. Хотя бы взяли идею event.stopPropagation() с JavaScript.
2) отсутствуют фазы after_xxx и around_xxx. 19 декабря 2016 г., 14:38 пользователь Konstantin S. Uvarin < [email protected]> написал: > Приветствую. > > Выпустил Neaf 0.14 c экспериментальными hooks: > > * hook ставится на путь+метод, при этом можно указать exclude (т.е. > пути, к которым применяться НЕ будет) > * фазы, в которые можно воткнуться: > - pre_logic - после роутинга, но до выполнения основного хэндлера (+ > прерывание путём die); > - pre_content - после хэндлера; > - pre_reply - перед отправкой заголовков клиенту (выполнение в > обратном порядке); > - pre_cleanup - перед уничтожением объекта запроса, после отложенных > операций (выполнение в обратном порядке); > - возможно, будут добавлены ещё. как минимум, pre_render, который > отрабатывает, ТОЛЬКО если собираемся применять шаблон/сериализатор. Ну и > pre-route надо запихнуть в ту же схему, не дело двум велосипедам быть в > одном фреймворке, который и так велосипед. > * единственный аргумент ВСЕХ хуков - объект request > * возвращаемое значение принципиально игнорируется, для коммуникаций > между хуками есть $request->stash. Также начиная с pre_content доступен > хэш, который вернул хэндлер, под именем $request->reply. > > Кроме этого, добавлены зависящие от пути значения по умолчанию, > применяемые после успешного хэндлера, напр. MVC::Neaf->set_path_defaults( > '/api' => { -view => 'JS' } ); > У них, правда, пока нет exclude. > > Кроме этого, добавлен Dancer-подобный сахар в виде > > use MVC::Neaf qw(:sugar); > get '/path' => sub { ... }; > neaf error => 404 => sub { ... }; > neaf->run; > > Он тоже экспериментальный. > > https://github.com/dallaylaen/perl-mvc-neaf/ > https://metacpan.org/pod/MVC::Neaf > > Акжану присуждается медаль в дисциплине "взятие на слабо", а если > серьёзно, то спасибо за классный challenge и ссылки :) > > > -- > Konstantin S. Uvarin > jabber: see <from> > skype: kuvarin > http://github.com/dallaylaen > > _______________________________________________ > Kiev-pm mailing list > [email protected] > http://mail.pm.org/mailman/listinfo/kiev-pm > >
-- Moscow.pm mailing list [email protected] | http://moscow.pm.org
