Как добавить более одного метода over в маршрут mojolicious?

У меня есть следующий код:

$r->find('user')->via('post')->over(authenticated => 1);

Учитывая этот маршрут, я могу добраться до пользовательского маршрута, проходящего через аутентифицированную проверку который настраивается с помощью Mojolicious ::Plugin ::Authentication.

Я хочу добавить еще один «овер» к этому маршруту.

$r->find('user')->via('post')->over(authenticated => 1)->over(access => 1);

Однако это, похоже, отменяет аутентифицированный «over».

Я попытался разбить маршруты с именами типа:

 my $auth = $r->route('/')->over(authenticated => 1)
     ->name('Authenticated Route');

 $access = $auth->route('/user')->over(access => 1)->name('USER_ACCESS');

Хотя это совсем не сработало. Ни к одному из окон не обращаются.

Мои маршруты — это такие вещи, как /user, /item, настроенные с использованием службы MojoX ::JSON ::RPC ::. Итак, у меня нет таких вещей, как /user/ :id для настройки подмаршрутов. (не уверен, что это имеет значение )Все маршруты похожи на /user, отправляются с параметрами.

У меня такое состояние, как:

$r->add_condition(
    access => sub {
        # do some stuff
    },
);

это "доступ" в $r ->route ('/user' )->over (access => 1 );

Короче говоря, маршруты работают нормально при использовании:

$r->find('user')->via('post')->over(authenticated => 1);

Но я не могу добавить второй маршрут.

Так,что мне не хватает при настройке этих маршрутов с несколькими условиями? Можно ли добавить несколько условий к одному имени маршрута / маршрута _?

6
задан jmcneirney 9 August 2012 в 15:48
поделиться