#!/usr/bin/speedy -- -t600 -M8 # This is a mason driver using speedyCGI. # # Mason causes a dynamic mod_perl module to crash under RedHat. Compiling # a statically linked apache is a pain. To run Mason uder RedHat, I use # speedyCGI which is a GPL program available from freshmeat. speedyCGI # sets up a persistent perl interpreter. # Library commands use lib "/home/httpd/lib"; # General includes use HTML::Mason; use CGI qw(:standard); $outbuf = ""; my($query) = new CGI; my($page) = $ENV{'PATH_INFO'}; my($item); my($match) = 0; # Do directory searching. Running mason through a speedyCGI driver # BYPASSES normal .htaccess directives. foreach $item ("/catalog/", "/index.html", "/beta/", "/ads/", "/lounges/", "/guides/", "/news/", "/donations.html", "/tech/", "/channels/", "/heartbeat.html") { if ($page =~ /^$item/) { $match = 1; } } if (!$match) { print $page; exit; } # Parser and interp are globals so that we don't have to recreate them # each time this driver is run. if (!defined($parser)) { $parser = new HTML::Mason::Parser; } if (!defined($interp)) { $interp = new HTML::Mason::Interp (parser=>$parser, comp_root=>'/home/httpd/html', data_dir=>'/home/httpd/html/mason/data', out_method=>\$outbuf); } $retval = $interp->exec($page, $query->Vars); undef $query; print "Content-Type: text/html\n\n"; print $outbuf;