Apache2::Const - Perl Interface for Apache Constants
# make the constants available but don't import them use Apache2::Const -compile => qw(constant names ...); # w/o the => syntax sugar use Apache2::Const ("-compile", qw(constant names ...)); # compile and import the constants use Apache2::Const qw(constant names ...);
This package contains constants specific to Apache features.
Apache
mod_perl 2.0 comes with several hundreds of constants, which you don't want to make available to your Perl code by default, due to CPU and memory overhead. Therefore when you want to use a certain constant you need to explicitly ask to make it available.
For example, the code:
use Apache2::Const -compile => qw(FORBIDDEN OK);
makes the constants Apache2::Const::FORBIDDEN and Apache2::Const::OK available to your code, but they aren't imported. In which case you need to use a fully qualified constants, as in:
Apache2::Const::FORBIDDEN
Apache2::Const::OK
return Apache2::Const::OK;
If you drop the argument -compile and write:
-compile
use Apache2::Const qw(FORBIDDEN OK);
Then both constants are imported into your code's namespace and can be used standalone like so:
return OK;
Both, due to the extra memory requirement, when importing symbols, and since there are constants in other namespaces (e.g., APR:: and ModPerl::, and non-mod_perl modules) which may contain the same names, it's not recommended to import constants. I.e. you want to use the -compile construct.
APR::
ModPerl::
Finaly, in Perl => is almost the same as the comma operator. It can be used as syntax sugar making it more clear when there is a key-value relation between two arguments, and also it automatically parses its lefthand argument (the key) as a string, so you don't need to quote it.
=>
If you don't want to use that syntax, instead of writing:
you could write:
use Apache2::Const "-compile", qw(FORBIDDEN OK);
and for parentheses-lovers:
use Apache2::Const ("-compile", qw(FORBIDDEN OK));
:cmd_how
use Apache2::Const -compile => qw(:cmd_how);
The :cmd_how constants group is used in Apache2::Module::add() and $cmds->args_how.
Apache2::Module::add()
$cmds->args_how
Apache2::Const::FLAG
One of On or Off (full description).
Apache2::Const::ITERATE
One argument, occuring multiple times (full description).
Apache2::Const::ITERATE2
Two arguments, the second occurs multiple times (full description).
Apache2::Const::NO_ARGS
No arguments at all (full description).
Apache2::Const::RAW_ARGS
The command will parse the command line itself (full description).
Apache2::Const::TAKE1
One argument only (full description).
Apache2::Const::TAKE12
One or two arguments (full description).
Apache2::Const::TAKE123
One, two or three arguments (full description).
Apache2::Const::TAKE13
One or three arguments (full description).
Apache2::Const::TAKE2
Two arguments (full description).
Apache2::Const::TAKE23
Two or three arguments (full description).
Apache2::Const::TAKE3
Three arguments (full description).
:common
use Apache2::Const -compile => qw(:common);
The :common group is for XXX constants.
Apache2::Const::AUTH_REQUIRED
Apache2::Const::DECLINED
Apache2::Const::DONE
Apache2::Const::NOT_FOUND
Apache2::Const::REDIRECT
Apache2::Const::SERVER_ERROR
:config
use Apache2::Const -compile => qw(:config);
The :config group is for XXX constants.
Apache2::Const::DECLINE_CMD
:conn_keepalive
use Apache2::Const -compile => qw(:conn_keepalive);
The :conn_keepalive constants group is used by the ($c->keepalive) method.
$c->keepalive
Apache2::Const::CONN_CLOSE
The connection will be closed at the end of the current HTTP request.
Apache2::Const::CONN_KEEPALIVE
The connection will be kept alive at the end of the current HTTP request.
Apache2::Const::CONN_UNKNOWN
The connection is at an unknown state, e.g., initialized but not open yet.
:context
use Apache2::Const -compile => qw(:context);
The :context group is used by the $parms->check_cmd_context method.
$parms->check_cmd_context
Apache2::Const::NOT_IN_VIRTUALHOST
The command is not in a <VirtualHost> block.
Apache2::Const::NOT_IN_LIMIT
The command is not in a <Limit> block.
Apache2::Const::NOT_IN_DIRECTORY
The command is not in a <Directory> block.
Apache2::Const::NOT_IN_LOCATION
The command is not in a <Location>/<LocationMatch> block.
Apache2::Const::NOT_IN_FILES
The command is not in a <Files>/<FilesMatch> block.
Apache2::Const::NOT_IN_DIR_LOC_FILE
The command is not in a <Files>/<FilesMatch>, <Location>/<LocationMatch> or <Directory> block.
Apache2::Const::GLOBAL_ONLY
The directive appears outside of any container directives.
:filter_type
use Apache2::Const -compile => qw(:filter_type);
The :filter_type group is for XXX constants.
Apache2::Const::FTYPE_CONNECTION
Apache2::Const::FTYPE_CONTENT_SET
Apache2::Const::FTYPE_NETWORK
Apache2::Const::FTYPE_PROTOCOL
Apache2::Const::FTYPE_RESOURCE
Apache2::Const::FTYPE_TRANSCODE
:http
use Apache2::Const -compile => qw(:http);
The :http group is for XXX constants.
Apache2::Const::HTTP_ACCEPTED
Apache2::Const::HTTP_BAD_GATEWAY
Apache2::Const::HTTP_BAD_REQUEST
Apache2::Const::HTTP_CONFLICT
Apache2::Const::HTTP_CONTINUE
Apache2::Const::HTTP_CREATED
Apache2::Const::HTTP_EXPECTATION_FAILED
Apache2::Const::HTTP_FAILED_DEPENDENCY
Apache2::Const::HTTP_FORBIDDEN
Apache2::Const::HTTP_GATEWAY_TIME_OUT
Apache2::Const::HTTP_GONE
Apache2::Const::HTTP_INSUFFICIENT_STORAGE
Apache2::Const::HTTP_INTERNAL_SERVER_ERROR
Apache2::Const::HTTP_LENGTH_REQUIRED
Apache2::Const::HTTP_LOCKED
Apache2::Const::HTTP_METHOD_NOT_ALLOWED
Apache2::Const::HTTP_MOVED_PERMANENTLY
Apache2::Const::HTTP_MOVED_TEMPORARILY
Apache2::Const::HTTP_MULTIPLE_CHOICES
Apache2::Const::HTTP_MULTI_STATUS
Apache2::Const::HTTP_NON_AUTHORITATIVE
Apache2::Const::HTTP_NOT_ACCEPTABLE
Apache2::Const::HTTP_NOT_EXTENDED
Apache2::Const::HTTP_NOT_FOUND
Apache2::Const::HTTP_NOT_IMPLEMENTED
Apache2::Const::HTTP_NOT_MODIFIED
Apache2::Const::HTTP_NO_CONTENT
Apache2::Const::HTTP_OK
Apache2::Const::HTTP_PARTIAL_CONTENT
Apache2::Const::HTTP_PAYMENT_REQUIRED
Apache2::Const::HTTP_PRECONDITION_FAILED
Apache2::Const::HTTP_PROCESSING
Apache2::Const::HTTP_PROXY_AUTHENTICATION_REQUIRED
Apache2::Const::HTTP_RANGE_NOT_SATISFIABLE
Apache2::Const::HTTP_REQUEST_ENTITY_TOO_LARGE
Apache2::Const::HTTP_REQUEST_TIME_OUT
Apache2::Const::HTTP_REQUEST_URI_TOO_LARGE
Apache2::Const::HTTP_RESET_CONTENT
Apache2::Const::HTTP_SEE_OTHER
Apache2::Const::HTTP_SERVICE_UNAVAILABLE
Apache2::Const::HTTP_SWITCHING_PROTOCOLS
Apache2::Const::HTTP_TEMPORARY_REDIRECT
Apache2::Const::HTTP_UNAUTHORIZED
Apache2::Const::HTTP_UNPROCESSABLE_ENTITY
Apache2::Const::HTTP_UNSUPPORTED_MEDIA_TYPE
Apache2::Const::HTTP_UPGRADE_REQUIRED
Apache2::Const::HTTP_USE_PROXY
Apache2::Const::HTTP_VARIANT_ALSO_VARIES
:input_mode
use Apache2::Const -compile => qw(:input_mode);
The :input_mode group is used by get_brigade.
get_brigade
Apache2::Const::MODE_EATCRLF
See Apache2::Filter::get_brigade().
Apache2::Filter::get_brigade()
Apache2::Const::MODE_EXHAUSTIVE
Apache2::Const::MODE_GETLINE
Apache2::Const::MODE_INIT
Apache2::Const::MODE_READBYTES
Apache2::Const::MODE_SPECULATIVE
:log
use Apache2::Const -compile => qw(:log);
The :log group is for constants used by Apache2::Log.
Apache2::Log
Apache2::Const::LOG_ALERT
See Apache2::Log.
Apache2::Const::LOG_CRIT
Apache2::Const::LOG_DEBUG
Apache2::Const::LOG_EMERG
Apache2::Const::LOG_ERR
Apache2::Const::LOG_INFO
Apache2::Const::LOG_LEVELMASK
Apache2::Const::LOG_NOTICE
Apache2::Const::LOG_STARTUP
Apache2::Const::LOG_TOCLIENT
Apache2::Const::LOG_WARNING
:methods
use Apache2::Const -compile => qw(:methods);
The :methods constants group is used in conjunction with $r->method_number.
$r->method_number
Apache2::Const::METHODS
Apache2::Const::M_BASELINE_CONTROL
Apache2::Const::M_CHECKIN
Apache2::Const::M_CHECKOUT
Apache2::Const::M_CONNECT
Apache2::Const::M_COPY
Apache2::Const::M_DELETE
Apache2::Const::M_GET
corresponds to the HTTP GET method
GET
Apache2::Const::M_INVALID
Apache2::Const::M_LABEL
Apache2::Const::M_LOCK
Apache2::Const::M_MERGE
Apache2::Const::M_MKACTIVITY
Apache2::Const::M_MKCOL
Apache2::Const::M_MKWORKSPACE
Apache2::Const::M_MOVE
Apache2::Const::M_OPTIONS
Apache2::Const::M_PATCH
Apache2::Const::M_POST
corresponds to the HTTP POST method
POST
Apache2::Const::M_PROPFIND
Apache2::Const::M_PROPPATCH
Apache2::Const::M_PUT
corresponds to the HTTP PUT method
PUT
Apache2::Const::M_REPORT
Apache2::Const::M_TRACE
Apache2::Const::M_UNCHECKOUT
Apache2::Const::M_UNLOCK
Apache2::Const::M_UPDATE
Apache2::Const::M_VERSION_CONTROL
:mpmq
use Apache2::Const -compile => qw(:mpmq);
The :mpmq group is for querying MPM properties.
Apache2::Const::MPMQ_NOT_SUPPORTED
Apache2::Const::MPMQ_STATIC
Apache2::Const::MPMQ_DYNAMIC
Apache2::Const::MPMQ_MAX_DAEMON_USED
Apache2::Const::MPMQ_IS_THREADED
Apache2::Const::MPMQ_IS_FORKED
Apache2::Const::MPMQ_HARD_LIMIT_DAEMONS
Apache2::Const::MPMQ_HARD_LIMIT_THREADS
Apache2::Const::MPMQ_MAX_THREADS
Apache2::Const::MPMQ_MIN_SPARE_DAEMONS
Apache2::Const::MPMQ_MIN_SPARE_THREADS
Apache2::Const::MPMQ_MAX_SPARE_DAEMONS
Apache2::Const::MPMQ_MAX_SPARE_THREADS
Apache2::Const::MPMQ_MAX_REQUESTS_DAEMON
Apache2::Const::MPMQ_MAX_DAEMONS
:options
use Apache2::Const -compile => qw(:options);
The :options group contains constants corresponding to the Options configuration directive. For examples see: $r->allow_options.
Options
$r->allow_options
Apache2::Const::OPT_ALL
Apache2::Const::OPT_EXECCGI
Apache2::Const::OPT_INCLUDES
Apache2::Const::OPT_INCNOEXEC
Apache2::Const::OPT_INDEXES
Apache2::Const::OPT_MULTI
Apache2::Const::OPT_NONE
Apache2::Const::OPT_SYM_LINKS
Apache2::Const::OPT_SYM_OWNER
Apache2::Const::OPT_UNSET
:override
use Apache2::Const -compile => qw(:override);
The :override group contains constants corresponding to the AllowOverride configuration directive. For examples see: $r->allow_options.
AllowOverride
Apache2::Const::ACCESS_CONF
*.conf inside <Directory> or <Location>
<Directory>
<Location>
Apache2::Const::EXEC_ON_READ
Force directive to execute a command which would modify the configuration (like including another file, or IFModule)
IFModule
Apache2::Const::OR_ALL
Apache2::Const::OR_LIMIT | Apache2::Const::OR_OPTIONS | Apache2::Const::OR_FILEINFO | Apache2::Const::OR_AUTHCFG | Apache2::Const::OR_INDEXES
Apache2::Const::OR_LIMIT
Apache2::Const::OR_OPTIONS
Apache2::Const::OR_FILEINFO
Apache2::Const::OR_AUTHCFG
Apache2::Const::OR_INDEXES
*.conf inside <Directory> or <Location> and .htaccess when AllowOverride AuthConfig
AllowOverride AuthConfig
*.conf anywhere and .htaccess when AllowOverride FileInfo
AllowOverride FileInfo
*.conf anywhere and .htaccess when AllowOverride Indexes
AllowOverride Indexes
*.conf inside <Directory> or <Location> and .htaccess when AllowOverride Limit
AllowOverride Limit
Apache2::Const::OR_NONE
*.conf is not available anywhere in this override
*.conf anywhere and .htaccess when AllowOverride Options
AllowOverride Options
Apache2::Const::OR_UNSET
Unset a directive (in Allow)
Allow
Apache2::Const::RSRC_CONF
*.conf outside <Directory> or <Location>
:platform
use Apache2::Const -compile => qw(:platform);
The :platform group is for constants that may differ from OS to OS.
Apache2::Const::CRLF
Apache2::Const::CR
Apache2::Const::LF
:remotehost
use Apache2::Const -compile => qw(:remotehost);
The :remotehost constants group is is used by the $c->get_remote_host method.
$c->get_remote_host
Apache2::Const::REMOTE_DOUBLE_REV
Apache2::Const::REMOTE_HOST
Apache2::Const::REMOTE_NAME
Apache2::Const::REMOTE_NOLOOKUP
:satisfy
use Apache2::Const -compile => qw(:satisfy);
The :satisfy constants group is used in conjunction with $r->satisfies.
$r->satisfies
Apache2::Const::SATISFY_ALL
All of the requirements must be met.
Apache2::Const::SATISFY_ANY
any of the requirements must be met.
Apache2::Const::SATISFY_NOSPEC
There are no applicable satisfy lines
:types
use Apache2::Const -compile => qw(:types);
The :types group is for XXX constants.
Apache2::Const::DIR_MAGIC_TYPE
:proxy
use Apache2::Const -compile => qw(:proxy);
The :proxy constants group is used in conjunction with $r->proxyreq.
$r->proxyreq
Apache2::Const::PROXYREQ_NONE
Apache2::Const::PROXYREQ_PROXY
Apache2::Const::PROXYREQ_REVERSE
Apache2::Const::PROXYREQ_RESPONSE
mod_perl 2.0 documentation.
HTTP Status Codes.
mod_perl 2.0 and its core modules are copyrighted under The Apache Software License, Version 2.0.
The mod_perl development team and numerous contributors.
To install mod_perl2, copy and paste the appropriate command in to your terminal.
cpanm
cpanm mod_perl2
CPAN shell
perl -MCPAN -e shell install mod_perl2
For more information on module installation, please visit the detailed CPAN module installation guide.