Plack没有从Catalyst回来

时间:2013-10-14 15:12:49

标签: perl catalyst plack psgi

我有一个可以选择从磁盘提供文件的应用程序 - 或者转到Catalyst并生成动态文件。

像这样(在call()内部:

    if (-f $path){
        my $app = Plack::App::File->new(file => $path)->to_app; #serve published page
        $res = $app->($env);
    }else{
        log_debug  "Fall through to app ";
        $res = $self->app->($env);.
    }

我想在它回来时设置一些cookie。所以我使用Plack :: Util

   Plack::Util::response_cb($res, sub {
        my $res = shift;
        log_debug "Handling app response";
        ...
   });

结果?在第一种情况下(Plack :: App :: File),一切都按预期工作。在第二个(以正常方式继续应用)它永远不会再回来。

我想知道为什么会这样?这是我的psgi初始化:

my $app = MainApp->psgi_app(@_);
$app = Plack::MyAppAbove->wrap($app);  
$app = MainApp->apply_default_middlewares($app);

0 个答案:

没有答案