[Moscow.pm] Mojolicious: render_not_found
voron3x на gmail.com
voron3x на gmail.com
Ср Мар 16 05:03:30 PDT 2011
Я бридж не юзаю. Ещё я попробовал из приватного метода в контролере
вызвать render_not_found на что у меня получился выше описанный эффект.
Типа:
sub index {
my $self = shift;
#Допустим дёргаем параметры и пополняем stash чемнибуть.
$self->_parse_param();
#Гденить в дальнейшем коде хапнули die() из-за нехватки параметров.
die();
return $self->render();
}
sub _parse_param {
my $self = shift;
# Тут уже понятно что дальнейшая обработка бесполезна.
return $self->render_not_found()
unless defined $self->req->params->param('foo');
...
return;
}
Вернул 500 вместо ожидаемой 404. Я предположил что после вызова
render_not_found уже как бы понятно что мы хотим отдать. Но mojolicious
продолжает выполение
и пополнение stash разными значениями которые влияют на предидущий
результат.
On 15.03.2011 18:03, Анатолий Шарифулин wrote:
> return self->render_not_found;
>
> но лучше через бридж не пускать, чем в прикладном коде разруливать.
>
> 2011/3/15 voron3x на gmail.com <mailto:voron3x на gmail.com>
> <voron3x на gmail.com <mailto:voron3x на gmail.com>>
>
> Привет!
>
> Друзья подскажите пожалуйста в чём может быть дело. При вызове
> метода $self->render_not_found() продолжает выполняться метод
> контролера.
>
> sub index {
> my $self = shift;
> $self->render_not_found('hahahaha');
> $self->stash(foo => 'bar');
> $self->client->log->debug("Stash " . Dumper($self->stash()));
> return $self->render();
> }
>
> Причём прикол ещё вот в чём, например если после
> $self->render_not_found('hahahaha'); будет например die то
> mojolicious выкинит старничку 404 но со статусом 500, а не 404. =(
>
> sub index {
> my $self = shift;
> $self->render_not_found('hahahaha');
> $self->stash(foo => 'bar');
> die('hana!');
> $self->client->log->debug("Stash " . Dumper($self->stash()));
> return $self->render();
> }
>
> Как мне прервать выполения запроса после вызова render_not_found?
> --
> Moscow.pm mailing list
> moscow-pm на pm.org <mailto:moscow-pm на pm.org> | http://moscow.pm.org
>
>
>
>
> --
> С уважением,
> Анатолий Шарифулин.
----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mail.pm.org/pipermail/moscow-pm/attachments/20110316/b39df4a6/attachment.html>
Подробная информация о списке рассылки Moscow-pm