<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta content="text/html; charset=KOI8-R" http-equiv="Content-Type">
    <title></title>
  </head>
  <body text="#000000" bgcolor="#ffffff">
    Я бридж не юзаю. Ещё я попробовал из приватного метода в контролере
    вызвать render_not_found на что у меня получился выше описанный
    эффект.<br>
    <br>
    Типа:<br>
    <br>
    sub index {<br>
        my $self = shift;<br>
        #Допустим дёргаем параметры и пополняем stash чемнибуть.<br>
        $self->_parse_param();<br>
        #Гденить в дальнейшем коде хапнули die() из-за нехватки
    параметров.<br>
        die();<br>
        return $self->render();<br>
    }<br>
    <br>
    sub _parse_param {<br>
        my $self = shift;    <br>
        # Тут уже понятно что дальнейшая обработка бесполезна.<br>
        return $self->render_not_found() <br>
            unless defined $self->req->params->param('foo');<br>
        ...    <br>
        return;<br>
    }<br>
    <br>
    Вернул 500 вместо ожидаемой 404. Я предположил что после вызова
    render_not_found уже как бы понятно что мы хотим отдать. Но
    mojolicious продолжает выполение<br>
    и пополнение stash разными значениями которые влияют на предидущий
    результат. <br>
    <br>
    <br>
    On 15.03.2011 18:03, Анатолий Шарифулин wrote:
    <blockquote
      cite="mid:AANLkTinV-s+gUDirM-59py1BGgUJdpnmZwJv07oMNJvH@mail.gmail.com"
      type="cite">return self->render_not_found;<br>
      <br>
      но лучше через бридж не пускать, чем в прикладном коде
      разруливать.<br>
      <br>
      <div class="gmail_quote">2011/3/15 <a moz-do-not-send="true"
          href="mailto:voron3x@gmail.com">voron3x@gmail.com</a> <span
          dir="ltr"><<a moz-do-not-send="true"
            href="mailto:voron3x@gmail.com">voron3x@gmail.com</a>></span><br>
        <blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt
          0.8ex; border-left: 1px solid rgb(204, 204, 204);
          padding-left: 1ex;">Привет!<br>
          <br>
          Друзья подскажите пожалуйста в чём может быть дело. При вызове
          метода $self->render_not_found() продолжает выполняться
          метод контролера.<br>
          <br>
          sub index {<br>
          my $self = shift;<br>
          $self->render_not_found('hahahaha');<br>
          $self->stash(foo => 'bar');<br>
          $self->client->log->debug("Stash " .
          Dumper($self->stash()));<br>
          return $self->render();<br>
          }<br>
          <br>
          Причём прикол ещё вот в чём, например если после
          $self->render_not_found('hahahaha'); будет например die то
          mojolicious выкинит старничку 404 но со статусом 500, а не
          404. =(<br>
          <br>
          sub index {<br>
          my $self = shift;<br>
          $self->render_not_found('hahahaha');<br>
          $self->stash(foo => 'bar');<br>
          die('hana!');<br>
          $self->client->log->debug("Stash " .
          Dumper($self->stash()));<br>
          return $self->render();<br>
          }<br>
          <br>
          Как мне прервать выполения запроса после вызова
          render_not_found?<br>
          <font color="#888888">
            -- <br>
            Moscow.pm mailing list<br>
            <a moz-do-not-send="true" href="mailto:moscow-pm@pm.org"
              target="_blank">moscow-pm@pm.org</a> | <a
              moz-do-not-send="true" href="http://moscow.pm.org"
              target="_blank">http://moscow.pm.org</a><br>
          </font></blockquote>
      </div>
      <br>
      <br clear="all">
      <br>
      -- <br>
      С уважением,<br>
       Анатолий Шарифулин.<br>
    </blockquote>
    <br>
  </body>
</html>