Plack :: Builder获得帖子

时间:2012-08-28 13:07:58

标签: perl plack psgi

有没有办法在特定方法(GET或POST)的构建器部分中指定,但不能同时指定两者? 我的构建器部分示例。

my $main_app=builder
{
    mount "/" => builder{$app;};
};

它处理get和post请求,如何禁用GET请求的处理?

感谢。

1 个答案:

答案 0 :(得分:0)

Plack :: Builder不提供基于HTTP方法路由请求的本机方式。编写处理特定方法的中间件应该非常简单。例如

之类的东西
my $post_app = ...;

my $main = builder {
    enable sub {
        my $app = shift;
        sub {
            my $env = shift;

            if ($env->{REQUEST_METHOD} eq "POST") {
                return $post_app->($env);
            }

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

    ....;
};

基于PSGI的现有框架可能为基于HTTP方法的路由请求提供更好的替代方案。例如,使用Dancer看起来很容易。