← All posts tagged Mojo

spleenjack
Perl Mojo Обновил Mojolicious. Обнаружил, что для некоторых методов Test::Mojo удалена возможность указать свой description. Долго думал, но смысла в таком удалении не нашел.
spleenjack
Perl Mojo Пытался построить цепочки вложенных роутов с условиями по методу запроса — не вышло. С такой цепочкой: $self->routes->waypoint('/user/:user')->via('get')->to('user#read')->route('/profile')->via('post')->to('profile#create') — POST-запрос до user:user/profile никогда не дойдет. Приходится делать два отдельных роута.
spleenjack
test Perl JSON Mojo Решил добавить проверку на тип значения в распарсенном JSON (число или строка). Test::Deep::num и str тип зачем-то меняют. Выяснилось, что можно проверять по наличию флагов IOK, NOK и POK у скаляра. В итоге написал две реализации: чистый XS и с использованием B::Flags. Накалякал 52 теста, вроде работает. Не покидает чувство, что изобрел велосипед. (Спасибо @mvuets за помощь!) Кстати, оказалось, что Mojo::Json из чисел делает строки :-/
spleenjack
Perl Mojo Пытаюсь понять, как нужно собирать ответ сервису, который дает некое API разным клиентам (сервис без web-морды). Учитывая то, что он часто вовращает какой-то сериализованный ответ (JSON, XML) хочется собирать его прямо в контроллере, т.к. это быстрее. С другой стороны — JSON не равнозначен XML — и как в этом случае выдавать ответ? Шаблоны? Но это медленнее, да и ручками слишком много нужно делать — разрисовывать все хеши, массивы, поля, не забывая о фильтрации, чтобы окончательный ответ был валидным документом.
spleenjack
Perl Mojo Еле-еле запустил сервер под fcgi_prefork в нужном окружении определенного юзера. Обнаружил, что --requests он не поддерживает, хотя и наследуется от Mojo::Server::Daemon. Надо будет поковыряться.