use strict;
use warnings;
-our $VERSION = '1.02';
+our $VERSION = '1.03';
use PLP;
my $path_info = '';
while (not -f $path) {
if (not $path =~ s/(\/+[^\/]*)$//) {
- printf STDERR "PLP: Not found: $path$path_info ($ENV{REQUEST_URI})\n";
+ warn "PLP: Not found: $path$path_info ($ENV{REQUEST_URI})\n";
PLP::error(undef, 404);
return;
}
$ENV{SCRIPT_NAME} = $rel;
}
elsif (not -f $ENV{SCRIPT_FILENAME}) {
- print STDERR "PLP: Not found: $ENV{SCRIPT_FILENAME} ($ENV{REQUEST_URI})\n";
+ warn "PLP: Not found: $ENV{SCRIPT_FILENAME} ($ENV{REQUEST_URI})\n";
PLP::error(undef, 404);
return;
}
$ENV{"PLP_$_"} = $ENV{"SCRIPT_$_"} for qw/NAME FILENAME/;
if (not -r $ENV{PLP_FILENAME}) {
- print STDERR "PLP: Can't read: $ENV{PLP_FILENAME} ($ENV{REQUEST_URI})\n";
+ warn "PLP: Can't read: $ENV{PLP_FILENAME} ($ENV{REQUEST_URI})\n";
PLP::error(undef, 403);
return;
}
close STDOUT;
open STDOUT, '>', \my $output; # STDOUT buffered to scalar
+ select STDOUT; # output before start() (which selects PLPOUT)
eval {
local $SIG{__WARN__} = sub { print $_[0] }; # enables warnings
PLP::everything();
chmod 0244, $testfile or skip("changed permissions", 1);
plp_is('permission denied', undef, <<TEST);
Content-Type: text/html
+PLP: Can't read: $base/$testfile (/$testfile/test/123)
Status: 403
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
$ENV{PATH_TRANSLATED} = "$base/missinginclude/test/123";
plp_is('not found', undef, <<TEST);
Content-Type: text/html
+PLP: Not found: $base/missinginclude/test/123 (/$testfile/test/123)
Status: 404
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">