package SWISHED::Handler; # this is the script that implements the swished daemon with mod_perl 2.0 use lib '/usr/local/swished/lib'; use SWISHED::Core; use strict; use warnings; # old way. ## these require mod_perl w/ apache 2.0! #use Apache::RequestRec (); #use Apache::RequestIO (); #use Apache::Const -compile => qw(OK); # new way! run under mod_perl vers 1 or 2. pek # TODO: what about mod_perl 1.99? joshr # my $APACHE_OK = 0; if(! $ENV{MOD_PERL}) { # no need to override $APACHE_OK global } elsif ($ENV{MOD_PERL} =~ m!^mod_perl/2!) { require Apache2::RequestRec; require Apache2::RequestIO; require Apache2::Const; Apache2::Const->import(-compile => qw(OK)); $APACHE_OK = $Apache2::Const::OK; } elsif ($ENV{MOD_PERL} =~ m!^mod_perl/1!) { require Apache::RequestRec; require Apache::RequestIO; require Apache::Const; Apache::Const->import(-compile => qw(OK)); $APACHE_OK = $Apache::Const::OK; } else { die "$0: MOD_PERL env var '$ENV{MOD_PERL}' doesn't match expected syntax\n"; } # by default will use the index specified in $ENV{'SWISHED_INDEX_DEFAULT'} sub handler { my $r = shift; $r->content_type('text/plain'); SWISHED::Core::do_search(); # this uses CGI.pm to handle mod_perl-ness #return Apache::OK; # old way $APACHE_OK; } 1; __END__ =head1 NAME SWISHED::Handler - perl module to provide a persistent swish-e daemon =head1 SYNOPSIS Put lines like the following in your httpd.conf file: PerlRequire /usr/local/swished/lib/startup.pl PerlPassEnv SWISHED_INDEX_DEFAULT PerlResponseHandler SWISHED::Handler PerlSetEnv SWISHED_INDEX_DEFAULT /var/lib/sman/sman.index SetHandler perl-script =head1 DESCRIPTION Swished is a mod_perl module providing a persistent swish-e daemon =head1 AUTHOR Josh Rabinowitz =head1 SEE ALSO L, L, L =cut # $Log: Handler.pm,v $ # Revision 1.8 2006/07/06 18:00:52 joshr # bump to version 0.10, comment and documentation changes # # Revision 1.7 2006/06/17 17:10:00 joshr # change how we handle using Apache*::OK and MODPERL env var. # # Revision 1.6 2006/06/04 16:58:59 joshr # added Log CVS thingy #