[Nginx] perl module get an empty body
Maxim Dounin
mdounin at mdounin.ru
Fri Aug 10 11:12:26 UTC 2012
Hello!
On Fri, Aug 10, 2012 at 06:03:14AM -0400, darkweaver871 wrote:
> Hi all,
>
> I'm using Nginx as a reverse proxy and I use Nginx perl module to
> inspect my requests and redirect to a different upstream.
> It works well but some of request_body are empty and others just make
> nginx timeout.
[...]
>
> perl_modules /opt/test/perl/;
> perl_require switcher_test.pm;
> perl_set $test switcher_test::handler;
[...]
> sub handler {
> my $r = shift;
> if($r->has_request_body(sub{})) { return 3 };
This doesn't work as $r->has_request_body() currently assumes it's
called from a perl content handler, not from a perl variable
handler, and does bad things if called from a variable handler.
You may try to test $http_content_length instead.
Maxim Dounin
More information about the nginx
mailing list