Практика показала, что если в сайте на
Mojolicious::Lite задано несколько маршрутов, совпадающих с переданным запросом, то срабатывает тот маршрут, который объявлен раньше.
Внимательное чтение мануала (включая повторное), как и ожидалось, всё-таки просветляет. Даже если мануал не особо годный. На сей раз выяснил, что можно, написав перед каким-либо маршрутом: ladder sub {
# return 1 if authenticated
};
заставить следующий после такой функции маршрут выполняться лишь в том случае, когда функция вернёт истинное значение.
Объявленное равнее дополнительное условие можно отменить, написав перед общедоступным маршрутом: ladder sub { 1 };