From 30c44f02696079e94a9dd261e1dcfe0898a5367b Mon Sep 17 00:00:00 2001 From: Mischa POSLAWSKY Date: Mon, 30 Jul 2007 10:22:28 +0200 Subject: [PATCH] make PLP::Apache mod_perl 2.0 compatible --- PLP/Apache.pm | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/PLP/Apache.pm b/PLP/Apache.pm index a18ed25..fd2607b 100644 --- a/PLP/Apache.pm +++ b/PLP/Apache.pm @@ -5,7 +5,21 @@ use strict; our $VERSION = '1.00'; use PLP; -require Apache::Constants; + +use constant MP2 => ( + defined $ENV{MOD_PERL_API_VERSION} and $ENV{MOD_PERL_API_VERSION} >= 2 +); + +BEGIN { + if (MP2) { + require Apache2::Const; + require Apache2::RequestRec; + require Apache2::RequestUtil; + require Apache2::RequestIO; + } else { + require Apache::Constants; + } +} # mod_perl initializer: returns 0 on success, Apache error code on failure sub init { @@ -16,10 +30,10 @@ sub init { $ENV{PLP_FILENAME} = my $filename = $r->filename; unless (-f $filename) { - return Apache::Constants::NOT_FOUND(); + return MP2 ? Apache2::Const::NOT_FOUND() : Apache::Constants::NOT_FOUND(); } unless (-r _) { - return Apache::Constants::FORBIDDEN(); + return MP2 ? Apache2::Const::FORBIDDEN() : Apache::Constants::FORBIDDEN(); } $ENV{PLP_NAME} = $r->uri; @@ -51,7 +65,7 @@ sub handler { #S PLP::start($_[0]); PLP::start(); no strict 'subs'; - return Apache::Constants::OK(); + return MP2 ? Apache2::Const::OK() : Apache::Constants::OK(); } 1; -- 2.30.0