APREQ_ERROR_MISMATCH error, I think

Mark Hedges <[email protected]> Sat, 21 Jun 2014 00:50:39 +0000
Newsgroups gmane.comp.apache.apreq
Message-ID <55EEF0B3C5BF2744B2248754D717EE4C4A3702@USASHEXMB02.LYV.LiveNation.com>
Any clues for the clueless?

This is accompanied by a 500 internal server error.

The same handler works fine when I do not use Apache2::Request.  It is just=
 a test handler to print out a string.

Thanks.
-Mark

-----------------------
t/logs/error_log:
----
[Fri Jun 20 17:43:13.014222 2014] [mpm_event:notice] [pid 30042:tid 4760281=
1847312] AH00489: Apache/2.4.9 (Unix) mod_apreq2-20090110/2.8.0 mod_perl/2.=
0.9dev Perl/v5.20.0 configured -- resuming normal operations
...
[Fri Jun 20 17:43:13.014745 2014] [mpm_event:debug] [pid 30043:tid 10886986=
88] event.c(1949): AH02471: start_threads: Using epoll
...
[Fri Jun 20 17:43:14.934954 2014] [authz_core:debug] [pid 30043:tid 1120168=
256] mod_authz_core.c(828): [client 127.0.0.1:60081] AH01628: authorization=
 result: granted (no directives)
[Fri Jun 20 17:43:14.953412 2014] [perl:error] [pid 30043:tid 1120168256] [=
client 127.0.0.1:60081] Conflicting information


-------------------------
extra.last.conf.in:
---
PerlSetEnv NTF_TEST_DIR @ServerRoot@

#LoadModule allowmethods_module /ntfhome/local/libexec/httpd/mod_allowmetho=
ds.so

# where Apache2::Controller and the test application libs can be found
PerlSwitches -I@ServerRoot@/blib
PerlLoadModule Apache2::RequestRec
PerlLoadModule Apache2::RequestIO
PerlLoadModule Apache2::Log
PerlLoadModule Apache2::RequestUtil

<Perl>
    use NTF::Handler::NTR;
    $NTFHandlers::NTR =3D NTF::Handler::NTR->new();
</Perl>

# startup file handled by Apache::Test
# (add stuff to t/conf/modperl_extra.pl)

<LocationMatch '^/foo\b'>
    SetHandler modperl
    PerlResponseHandler $NTFHandlers::NTR->redirect
</LocationMatch>

-------------------------------
package NTF::Handler::NTR;

use strict;
use warnings FATAL =3D> 'all';
use English '-no_match_vars';

use YAML::XS;
use Readonly;

Readonly::Hash my %APREQ_NEW_PARAMS =3D> (
    POST_MAX            =3D> 1,
    MAX_BODY            =3D> 1,
    DISABLE_UPLOADS     =3D> 1,
);

use Apache2::Const -compile =3D> qw(
    OK
    HTTP_OK
    REDIRECT
    HTTP_BAD_REQUEST
);

use Apache2::Log;
use Apache2::RequestIO;
# use Apache2::Request;

sub new { return bless {}, __PACKAGE__ }

sub redirect : method {
    my ($self, $r) =3D @_;

    # minor annoyance, have to do this every time
    $self->{r} =3D $r;
 #  my $req =3D Apache2::Request->new($r, %APREQ_NEW_PARAMS);

    $r->content_type('text/plain');
    $self->{r}->print("KIRK\n");

    delete $self->{r};
    delete $self->{apreq};

    return Apache2::Const::OK;
}