mod_perl logo perl icon
previous page: OS-specific Infopage up: mod_perl 2.0 Documentationnext page: Developer's guide

mod_perl 2.0 API






Practical mod_perl

Practical mod_perl

By Stas Bekman, Eric Cholet
The mod_perl Developer's Cookbook

The mod_perl Developer's Cookbook

By Geoffrey Young, Paul Lindner, Randy Kobes
mod_perl Pocket Reference

mod_perl Pocket Reference

By Andrew Ford
Writing Apache Modules with Perl and C

Writing Apache Modules with Perl and C

By Lincoln Stein, Doug MacEachern
Embedding Perl in HTML with Mason

Embedding Perl in HTML with Mason

By Dave Rolsky, Ken Williams
mod_perl2 User's Guide

mod_perl2 User's Guide

By Stas Bekman, Jim Brandt


The Apache::, APR:: and ModPerl:: namespaces APIs for mod_perl 2.0

Part I: Apache2:: Core API
-Apache2::Access - A Perl API for Apache request object: Access, Authentication and Authorization.
The API provided by this module deals with access, authentication and authorization phases.
-Apache2::CmdParms - Perl API for Apache command parameters object
Apache2::CmdParms provides the Perl API for Apache command parameters object.
-Apache2::Command - Perl API for accessing Apache module command information
Apache2::Command provides the Perl API for accessing Apache module command information
-Apache2::Connection - Perl API for Apache connection object
Apache2::RequestRec provides the Perl API for Apache connection record object.
-Apache2::ConnectionUtil - Perl API for Apache connection utils
Apache2::ConnectionUtil provides the Apache connection record object utilities API.
-Apache2::Const - Perl Interface for Apache Constants
This package contains constants specific to Apache features.
-Apache2::Directive - Perl API for manipulating the Apache configuration tree
Apache2::Directive provides the Perl API for manipulating the Apache configuration tree
-Apache2::Filter - Perl API for Apache 2.0 Filtering
Apache2::Filter provides Perl API for Apache 2.0 filtering framework.
-Apache2::FilterRec - Perl API for manipulating the Apache filter record
Apache2::FilterRec provides an access to the filter record structure.
-Apache2::HookRun - Perl API for Invoking Apache HTTP phases
Apache2::HookRun exposes parts of the Apache HTTP protocol implementation, responsible for invoking callbacks for each HTTP Request cycle phase.
-Apache2::Log - Perl API for Apache Logging Methods
Apache2::Log provides the Perl API for Apache logging methods.
-Apache2::MPM - Perl API for accessing Apache MPM information
Apache2::MPM provides the Perl API for accessing Apache MPM information.
-Apache2::Module - Perl API for creating and working with Apache modules
Apache2::Module provides the Perl API for creating and working with Apache modules
-Apache2::PerlSections - write Apache configuration files in Perl
With <Perl>...</Perl> sections, it is possible to configure your server entirely in Perl.
-Apache2::Process - Perl API for Apache process record
Apache2::Process provides the API for the Apache process object, which you can retrieve with $s->process:
-Apache2::RequestIO - Perl API for Apache request record IO
Apache2::RequestIO provides the API to perform IO on the Apache request object.
-Apache2::RequestRec - Perl API for Apache request record accessors
Apache2::RequestRec provides the Perl API for Apache request_rec object.
-Apache2::RequestUtil - Perl API for Apache request record utils
Apache2::RequestUtil provides the Apache request object utilities API.
-Apache2::Response - Perl API for Apache HTTP request response methods
Apache2::Response provides the Apache request object utilities API for dealing with HTTP response generation process.
-Apache2::ServerRec - Perl API for Apache server record accessors
Apache2::ServerRec provides the Perl API for Apache server_rec object.
-Apache2::ServerUtil - Perl API for Apache server record utils
Apache2::ServerUtil provides the Apache server object utilities API.
-Apache2::SubProcess -- Executing SubProcesses under mod_perl
Apache2::SubProcess provides the Perl API for running and communicating with processes spawned from mod_perl handlers.
-Apache2::SubRequest - Perl API for Apache subrequests
Apache2::SubRequest contains API for creating and running of Apache sub-requests.
-Apache2::URI - Perl API for manipulating URIs
While APR::URI provides a generic API to dissect, adjust and put together any given URI string, Apache2::URI provides an API specific to Apache, by taking the information directly from the $r object. Therefore when manipulating the URI of the current HTTP request usually methods from both classes are used.
-Apache2::Util - Perl API for Misc Apache Utility functions
Various Apache utilities that don't fit into any other group.
Part II: APR:: Core API
-APR - Perl Interface for Apache Portable Runtime (libapr and libaprutil Libraries)
On load this modules prepares the APR enviroment (initializes memory pools, data structures, etc.)
-APR::Base64 - Perl API for APR base64 encoding/decoding functionality
APR::Base64 provides the access to APR's base64 encoding and decoding API.
-APR::Brigade - Perl API for manipulating APR Bucket Brigades
APR::Brigade allows you to create, manipulate and delete APR bucket brigades.
-APR::Bucket - Perl API for manipulating APR Buckets
APR::Bucket allows you to create, manipulate and delete APR buckets.
-APR::BucketAlloc - Perl API for Bucket Allocation
APR::BucketAlloc is used for bucket allocation.
-APR::BucketType - Perl API for APR bucket types
APR::BucketType allows you to query bucket object type properties.
-APR::Const - Perl Interface for APR Constants
This package contains constants specific to APR features.
-APR::Date - Perl API for APR date manipulating functions
APR::Socket provides the Perl interface to APR date manipulating functions.
-APR::Error - Perl API for APR/Apache/mod_perl exceptions
APR::Error handles APR/Apache/mod_perl exceptions for you, while leaving you in control.
-APR::Finfo - Perl API for APR fileinfo structure
APR fileinfo structure provides somewhat similar information to Perl's stat() call, but you will want to use this module's API to query an already stat()'ed filehandle to avoid an extra system call or to query attributes specific to APR file handles.
-APR::IpSubnet - Perl API for accessing APRs ip_subnet structures
APR::IpSubnet object represents a range of IP addresses (IPv4/IPv6). A socket connection can be matched against this range to test whether the IP it's coming from is inside or outside of this range.
-APR::OS - Perl API for Platform-specific APR API
APR::OS provides the Perl interface to platform-specific APR API.
-APR::PerlIO -- Perl IO layer for APR
APR::PerlIO implements a Perl IO layer using APR's file manipulation API internally.
-APR::Pool - Perl API for APR pools
APR::Pool provides an access to APR pools, which are used for an easy memory management.
-APR::SockAddr - Perl API for APR socket address structure
APR::SockAddr provides an access to a socket address structure fields.
-APR::Socket - Perl API for APR sockets
APR::Socket provides the Perl interface to APR sockets.
-APR::Status - Perl Interface to the APR_STATUS_IS_* macros
An interface to apr_errno.h composite error codes.
-APR::String - Perl API for manipulating APR UUIDs
APR::String provides strings manipulation API.
-APR::Table - Perl API for manipulating APR opaque string-content tables
APR::Table allows its users to manipulate opaque string-content tables.
-APR::ThreadMutex - Perl API for APR thread mutexes
APR::ThreadMutex interfaces APR thread mutexes.
-APR::ThreadRWLock - Perl API for APR thread read/write locks
APR::ThreadRWLock interfaces APR thread read/write locks.
-APR::URI - Perl API for URI manipulations
APR::URI allows you to parse URI strings, manipulate each of the URI elements and deparse them back into URIs.
-APR::Util - Perl API for Various APR Utilities
Various APR utilities that don't fit into any other group.
-APR::UUID - Perl API for manipulating APR UUIDs
APR::UUID is used to get and manipulate random UUIDs.
Part III: ModPerl::
-ModPerl::Const -- ModPerl Constants
This package contains constants specific to mod_perl features.
-ModPerl::Global -- Perl API for manipulating special Perl lists
ModPerl::Global provides an API to manipulate special perl lists. At the moment only the END blocks list is supported.
-ModPerl::MethodLookup -- Lookup mod_perl modules, objects and methods
mod_perl 2.0 provides many methods, which reside in various modules. One has to load each of the modules before using the desired methods. ModPerl::MethodLookup provides the Perl API for finding module names which contain methods in question and other helper functions, to find out out what methods defined by some module, what methods can be called on a given object, etc.
-ModPerl::MM -- A "subclass" of ExtUtils::MakeMaker for mod_perl 2.0
ModPerl::MM is a "subclass" of ExtUtils::MakeMaker for mod_perl 2.0, to a degree of sub-classability of ExtUtils::MakeMaker.
-ModPerl::PerlRun - Run unaltered CGI scripts under mod_perl
META: document that for now we don't chdir() into the script's dir, because it affects the whole process under threads. ModPerl::PerlRunPrefork should be used by those who run only under prefork MPM.
-ModPerl::PerlRunPrefork - Run unaltered CGI scripts under mod_perl
-ModPerl::Registry - Run unaltered CGI scripts persistently under mod_perl
URIs in the form of http://example.com/perl/test.pl will be compiled as the body of a Perl subroutine and executed. Each child process will compile the subroutine once and store it in memory. It will recompile it whenever the file (e.g. test.pl in our example) is updated on disk. Think of it as an object oriented server with each script implementing a class loaded at runtime.
-ModPerl::RegistryBB - Run unaltered CGI scripts persistently under mod_perl
ModPerl::RegistryBB is similar to ModPerl::Registry, but does the bare minimum (mnemonic: BB = Bare Bones) to compile a script file once and run it many times, in order to get the maximum performance. Whereas ModPerl::Registry does various checks, which add a slight overhead to response times.
-ModPerl::RegistryCooker - Cook mod_perl 2.0 Registry Modules
ModPerl::RegistryCooker is used to create flexible and overridable registry modules which emulate mod_cgi for Perl scripts. The concepts are discussed in the manpage of the following modules: ModPerl::Registry, ModPerl::Registry and ModPerl::RegistryBB.
-ModPerl::RegistryLoader - Compile ModPerl::RegistryCooker scripts at server startup
This modules allows compilation of scripts, running under packages derived from ModPerl::RegistryCooker, at server startup. The script's handler routine is compiled by the parent server, of which children get a copy and thus saves some memory by initially sharing the compiled copy with the parent and saving the overhead of script's compilation on the first request in every httpd instance.
-ModPerl::RegistryPrefork - Run unaltered CGI scripts under mod_perl
-ModPerl::Util - Helper mod_perl Functions
ModPerl::Util provides mod_perl utilities API.
Part IV: Helper Modules / Applications
-Apache2::compat -- 1.0 backward compatibility functions deprecated in 2.0
Apache2::compat provides mod_perl 1.0 compatibility layer and can be used to smooth the transition process to mod_perl 2.0.
-Apache2::porting -- a helper module for mod_perl 1.0 to mod_perl 2.0 porting
Apache2::porting helps to port mod_perl 1.0 code to run under mod_perl 2.0. It doesn't provide any back-compatibility functionality, however it knows to trap methods calls that are no longer in the mod_perl 2.0 API and tell what should be used instead if at all. If you attempts to use mod_perl 2.0 methods without first loading the modules that contain them, it will tell you which modules you need to load. Finally if your code tries to load modules that no longer exist in mod_perl 2.0 it'll also tell you what are the modules that should be used instead.
-Apache2::Reload - Reload Perl Modules when Changed on Disk
Apache2::Reload reloads modules that change on the disk.
-Apache2::Resource - Limit resources used by httpd children
Apache2::Resource uses the BSD::Resource module, which uses the C function setrlimit to set limits on system resources such as memory and cpu usage.
-Apache2::Status - Embedded interpreter status information
The Apache2::Status module provides some information about the status of the Perl interpreter embedded in the server.
-Apache2::SizeLimit - Because size does matter.
This module is highly platform dependent, please read the Caveats section. It also does not work under threaded MPMs.
Part V: Internal Modules
-ModPerl::BuildMM -- A "subclass" of ModPerl::MM used for building mod_perl 2.0
ModPerl::BuildMM is a "subclass" of ModPerl::MM used for building mod_perl 2.0. Refer to ModPerl::MM manpage.
Part VI: Related Modules
-libapreq modules
Apache::Request, Apache::Cookie, etc.

See search.cpan.org or perldoc.perl.org for documentation of the 3rd party Apache:: modules.



TOP
previous page: OS-specific Infopage up: mod_perl 2.0 Documentationnext page: Developer's guide