NAME
Apache::CPAN::Query - mod_perl interface to CPAN::Search::Lite::Query
DESCRIPTION
This module provides a mod_perl (2) interface to CPAN::Search::Lite::Query. The modules Apache::Request
and Apache::Cookie
of the libapreq2
distribution are required. A directive
PerlLoadModule Apache::CPAN::Query
should appear before any of the Location
directives using the module. As well, the following directives should be defined in the Apache configuration file.
CSL_db database
-
the name of the database [required]
CSL_user user
-
the user to connect to the database as [required]
CSL_passwd password
-
the password to use for this user [optional if no password is required for the user specified in
CSL_user
.] CSL_tt2 /path/to/tt2
-
the path to the tt2 pages [required]. If a subdirectory
lang
exists under/path/to/tt2
(eg,en
orfr
), wherelang
is the first available language specified in theAccept-Language
header sent by the browser (if sent), then this subdirectory will be used for the path to the tt2 pages. See the%langs
hash in CPAN::Search::Lite::Util for a list of available languages. If the language specified by the browser isn't available,en
(English) will be used. CSL_dl http://www.cpan.org
-
the default download location [optional - http://www.cpan.org will be used if not specified]
CSL_max_results 200
-
the maximum number of results to obtain [optional - 200 will be used if not specified]
CSL_html_root /usr/local/httpd/CPAN
-
the path to the local html docs [required for the perldoc handler]
CSL_html_uri http://you.org/CPAN/docs
-
the uri to use for the html docs [required for the perldoc handler]
Available response handlers are as follows.
search
<Location "/search"> SetHandler perl-script PerlResponseHandler Apache::CPAN::Query->search </Location>
This handles search queries such as for http://localhost/search?mode=dist;query=libnet.
mode
can be one ofdist
,module
, orauthor
. A search using the specifiedquery
will be done on, respectively, distribution names and abstracts, module names and abstracts, and CPAN ids and full names.cpanid
<LocationMatch "/~[A-Za-z0-9-]+"> SetHandler perl-script PerlResponseHandler Apache::CPAN::Query->cpanid </LocationMatch>
There are two levels:
http://localhost/~cpanid
This will bring up a page of information on the author whose cpanid is
CPANID
.http://localhost/~cpanid/Dist-Name
This will bring up a page of information on the distribution
Dist-Name
of cpanidCPANID
.
author
<Location "/author"> SetHandler perl-script PerlResponseHandler Apache::CPAN::Query->author </Location>
There are 3 levels:
http://localhost/author
This brings up a menu of letters of the alphabet to link to authors whose ids begin with that letter.
http://localhost/author/CPANID
This brings up an information page for the author with cpanid
CPANID
.http://localhost/author/A/
This brings up a list of all authors whose cpanids begin with
A
.
dist
<Location "/dist"> SetHandler perl-script PerlResponseHandler Apache::CPAN::Query->dist </Location>
There are 4 levels:
http://localhost/dist
This brings up a menu of letters of the alphabet to link to distributions whose names begin with that letter.
http://localhost/dist/Dist-Name
This brings up an information page for the distribution with name
Dist-Name
.http://localhost/dist/A/
This brings up a list of all distributions whose names begin with
A
.http://localhost/dist/ABC/
This brings up a list of all distributions whose names match
ABC-*
.
module
<Location "/module"> SetHandler perl-script PerlResponseHandler Apache::CPAN::Query->module </Location>
There are 4 levels:
http://localhost/module
This brings up a menu of letters of the alphabet to link to mocules whose names begin with that letter.
http://localhost/module/Mod::Name
This brings up an information page for the module with name
Mod::Name
.http://localhost/module/A/
This brings up a list of all modules whose names begin with
A
.http://localhost/module/ABC/
This brings up a list of all modules whose names match
ABC::*
.
chapter
<Location "/chapter"> SetHandler perl-script PerlResponseHandler Apache::CPAN::Query->chapter </Location>
There are 3 levels:
http://localhost/chapter
This brings up a menu of all available chapter headings (as appears in
%chaps
ofCPAN::Search::Lite::Util
).http://localhost/chapter/Data_Type_Utilities
This brings up a list all subchapters of the
Data Type Utilities
chapter.http://localhost/chapter/Data_Type_Utilities/Tie
This brings up a list of all distributions in the
Tie
subchapter of theData Type Utilities
chapter.
recent
<Location "/recent"> SetHandler perl-script PerlResponseHandler Apache::CPAN::Query->recent </Location>
With this, a request for http://localhost/recent will list all distributions uploaded in the last 7 days.
mirror
<Location "/mirror"> SetHandler perl-script PerlResponseHandler Apache::CPAN::Query->mirror </Location>
With this, a request for http://localhost/mirror will bring up a page whereby the user can change the location of where downloads will be redirected to. This requires cookies to be enabled.
perldoc
<Location "/perldoc"> SetHandler perl-script PerlResponseHandler Apache::CPAN::Query->perldoc </Location>
With this, a request for, eg, http://localhost/perldoc/perlfaq will be redirected to the perfaq documentation, and a request for, eg, http://localhost/perldoc/Net::FTP, will be redirected to the documentation for Net::FTP.
SEE ALSO
Apache::CPAN::Search, CPAN::Search::Lite::Query, and mod_perl.