7
1152

Plack::Middleware vs path_info

imdefined
2015-01-24 09:34

Камрады, поведайте, это бага или фича: Если приложение вида:

my $main_app = builder {
    mount "/" => builder {
        mount "/user/authorize" => builder {
            enable "MyAuth", level => 'OPEN';
            $app;
        };

        mount "/" => builder {
            enable "MyAuth", level => 'AUTH';
            $app;
        };
    }
 };

и мидлевара:

sub call {
    my ($self, $env) = @_;

    my $req = Plack::Request->new($env);

    warn "MyAuth called [".$self->{'level'}."]";

    warn Dumper($env);

    return $self->app->($env);
 }

Проблема такая - если срабатывает мидлевара, то в path_info приходит undef, Если вызов мидлевары убрать - то в path_info приходит нормальный урл. Доку по Plack::Builder и Plack::Middleware почитал, что-то там на такое поведение не описано (или я пропустил).

Чтобы ответить, залогиньтесь или зарегистрируйтесь.
  • @user
  • _italic_

    italic

  • **bold**

    bold

  • [PP](http://pragmaticperl.com)

    PP

  • <http://pragmaticperl.com>

    http://pragmaticperl.com

  • module:Plack

    Plack

  • release:URI

    URI

  • author:VTI

    VTI

  • `my $foo = 'bar'`
  • ```
    my $multi;
    $line;
    ```