7
1369

Plack::Middleware vs path_info

imdefined
2015-01-24 09:34

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

x
 
1
my $main_app = builder {
2
    mount "/" => builder {
3
        mount "/user/authorize" => builder {
4
            enable "MyAuth", level => 'OPEN';
5
            $app;
6
        };
7
8
        mount "/" => builder {
9
            enable "MyAuth", level => 'AUTH';
10
            $app;
11
        };
12
    }
13
 };

и мидлевара:

11
 
1
sub call {
2
    my ($self, $env) = @_;
3
4
    my $req = Plack::Request->new($env);
5
6
    warn "MyAuth called [".$self->{'level'}."]";
7
8
    warn Dumper($env);
9
10
    return $self->app->($env);
11
 }

Проблема такая - если срабатывает мидлевара, то в 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;
    ```