File Coverage

blib/lib/Apache/Scriptor/Simple.pm
Criterion Covered Total %
statement 1 3 33.3
branch n/a
condition n/a
subroutine 1 1 100.0
pod n/a
total 2 4 50.0


line stmt bran cond sub pod time code
1             package Apache::Scriptor::Simple;
2             $VERSION="1.21";
3 1     1   7920 use Apache::Scriptor;
  0            
  0            
4            
5             # Директория обработчиков по умолчанию
6             my $DefHandDir="handlers";
7            
8             #############################################################################
9             # Первым делом проверяем, не запускается ли случаем этот скрипт
10             # нелегальным образом и, если это так, перебрасываем в корень.
11             # Запуск не как CGI?
12             if(!$ENV{DOCUMENT_ROOT} || !$ENV{SCRIPT_NAME} || !$ENV{SERVER_NAME}) {
13             print "This script has to be used only as Apache handler!\n\n";
14             exit;
15             }
16             # Запуск "напрямую"?
17             if(!$ENV{REDIRECT_URL}) {
18             print "Location: http://$ENV{SERVER_NAME}/\n\n";
19             exit;
20             }
21             #############################################################################
22            
23             sub import
24             { my ($pkg,$HandDir);
25             # По умолчанию?
26             if(!defined $HandDir) {
27             use FindBin qw($Bin);
28             ($Bin) = $Bin=~/(.*)/;
29             $HandDir = "$Bin/$DefHandDir";
30             }
31             require Apache::Scriptor;
32             my $Scr=Apache::Scriptor->new();
33             # Устанавливаем директорию с обработчиками.
34             $Scr->set_handlers_dir($HandDir);
35             # Поехали.
36             my ($uri) = $ENV{REQUEST_URI}=~/(.*)/;
37             my ($path) = $ENV{PATH_TRANSLATED}=~/(.*)/;
38             $Scr->run_uri($uri, $path);
39             }
40            
41             return 1;
42             __END__