man Apache2::Const () - Perl Interface for Apache Constants

NAME

Apache2::Const - Perl Interface for Apache Constants

Synopsis

  # 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 ...);

Description

This package contains constants specific to CWApache features.

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 CWApache2::Const::FORBIDDEN and CWApache2::Const::OK available to your code, but they aren't imported. In which case you need to use a fully qualified constants, as in:

  return Apache2::Const::OK;

If you drop the argument CW-compile and write:

  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., CWAPR:: and CWModPerl::, 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 CW-compile construct.

Finaly, in Perl CW=> 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:

 use Apache2::Const -compile => qw(FORBIDDEN OK);

you could write:

 use Apache2::Const "-compile", qw(FORBIDDEN OK);

and for parentheses-lovers:

 use Apache2::Const ("-compile", qw(FORBIDDEN OK));

Constants

  use Apache2::Const -compile => qw(:cmd_how);

The CW:cmd_how constants group is used in CWCIApache2::Module::add()CW and CW$cmds->args_how.

CIApache2::Const::FLAG

One of On or Off (full description).

since: 2.0.00

CIApache2::Const::ITERATE

One argument, occuring multiple times (full description).

since: 2.0.00

CIApache2::Const::ITERATE2

Two arguments, the second occurs multiple times (full description).

since: 2.0.00

CIApache2::Const::NO_ARGS

No arguments at all (full description).

since: 2.0.00

CIApache2::Const::RAW_ARGS

The command will parse the command line itself (full description).

since: 2.0.00

CIApache2::Const::TAKE1

One argument only (full description).

since: 2.0.00

CIApache2::Const::TAKE12

One or two arguments (full description).

since: 2.0.00

CIApache2::Const::TAKE123

One, two or three arguments (full description).

since: 2.0.00

CIApache2::Const::TAKE13

One or three arguments (full description).

since: 2.0.00

CIApache2::Const::TAKE2

Two arguments (full description).

since: 2.0.00

CIApache2::Const::TAKE23

Two or three arguments (full description).

since: 2.0.00

CIApache2::Const::TAKE3

Three arguments (full description).

since: 2.0.00
  use Apache2::Const -compile => qw(:common);

The CW:common group is for XXX constants.

CIApache2::Const::AUTH_REQUIRED

since: 2.0.00

CIApache2::Const::DECLINED

since: 2.0.00

CIApache2::Const::DONE

since: 2.0.00

CIApache2::Const::FORBIDDEN

since: 2.0.00

CIApache2::Const::NOT_FOUND

since: 2.0.00

CIApache2::Const::OK

since: 2.0.00

CIApache2::Const::REDIRECT

since: 2.0.00

CIApache2::Const::SERVER_ERROR

since: 2.0.00
  use Apache2::Const -compile => qw(:config);

The CW:config group is for XXX constants.

CIApache2::Const::DECLINE_CMD

since: 2.0.00
  use Apache2::Const -compile => qw(:conn_keepalive);

The CW:conn_keepalive constants group is used by the (CW$c->keepalive) method.

CIApache2::Const::CONN_CLOSE

The connection will be closed at the end of the current HTTP request.

since: 2.0.00

CIApache2::Const::CONN_KEEPALIVE

The connection will be kept alive at the end of the current HTTP request.

since: 2.0.00

CIApache2::Const::CONN_UNKNOWN

The connection is at an unknown state, e.g., initialized but not open yet.

since: 2.0.00
  use Apache2::Const -compile => qw(:context);

The CW:context group is used by the CW$parms->check_cmd_context method.

CIApache2::Const::NOT_IN_VIRTUALHOST

The command is not in a <VirtualHost> block.

since: 2.0.00

CIApache2::Const::NOT_IN_LIMIT

The command is not in a <Limit> block.

since: 2.0.00

CIApache2::Const::NOT_IN_DIRECTORY

The command is not in a <Directory> block.

since: 2.0.00

CIApache2::Const::NOT_IN_LOCATION

The command is not in a <Location>/<LocationMatch> block.

since: 2.0.00

CIApache2::Const::NOT_IN_FILES

The command is not in a <Files>/<FilesMatch> block.

since: 2.0.00

CIApache2::Const::NOT_IN_DIR_LOC_FILE

The command is not in a <Files>/<FilesMatch>, <Location>/<LocationMatch> or <Directory> block.

since: 2.0.00

CIApache2::Const::GLOBAL_ONLY

The directive appears outside of any container directives.

since: 2.0.00
  use Apache2::Const -compile => qw(:filter_type);

The CW:filter_type group is for XXX constants.

CIApache2::Const::FTYPE_CONNECTION

since: 2.0.00

CIApache2::Const::FTYPE_CONTENT_SET

since: 2.0.00

CIApache2::Const::FTYPE_NETWORK

since: 2.0.00

CIApache2::Const::FTYPE_PROTOCOL

since: 2.0.00

CIApache2::Const::FTYPE_RESOURCE

since: 2.0.00

CIApache2::Const::FTYPE_TRANSCODE

since: 2.0.00
  use Apache2::Const -compile => qw(:http);

The CW:http group is for XXX constants.

CIApache2::Const::HTTP_ACCEPTED

since: 2.0.00

CIApache2::Const::HTTP_BAD_GATEWAY

since: 2.0.00

CIApache2::Const::HTTP_BAD_REQUEST

since: 2.0.00

CIApache2::Const::HTTP_CONFLICT

since: 2.0.00

CIApache2::Const::HTTP_CONTINUE

since: 2.0.00

CIApache2::Const::HTTP_CREATED

since: 2.0.00

CIApache2::Const::HTTP_EXPECTATION_FAILED

since: 2.0.00

CIApache2::Const::HTTP_FAILED_DEPENDENCY

since: 2.0.00

CIApache2::Const::HTTP_FORBIDDEN

since: 2.0.00

CIApache2::Const::HTTP_GATEWAY_TIME_OUT

since: 2.0.00

CIApache2::Const::HTTP_GONE

since: 2.0.00

CIApache2::Const::HTTP_INSUFFICIENT_STORAGE

since: 2.0.00

CIApache2::Const::HTTP_INTERNAL_SERVER_ERROR

since: 2.0.00

CIApache2::Const::HTTP_LENGTH_REQUIRED

since: 2.0.00

CIApache2::Const::HTTP_LOCKED

since: 2.0.00

CIApache2::Const::HTTP_METHOD_NOT_ALLOWED

since: 2.0.00

CIApache2::Const::HTTP_MOVED_PERMANENTLY

since: 2.0.00

CIApache2::Const::HTTP_MOVED_TEMPORARILY

since: 2.0.00

CIApache2::Const::HTTP_MULTIPLE_CHOICES

since: 2.0.00

CIApache2::Const::HTTP_MULTI_STATUS

since: 2.0.00

CIApache2::Const::HTTP_NON_AUTHORITATIVE

since: 2.0.00

CIApache2::Const::HTTP_NOT_ACCEPTABLE

since: 2.0.00

CIApache2::Const::HTTP_NOT_EXTENDED

since: 2.0.00

CIApache2::Const::HTTP_NOT_FOUND

since: 2.0.00

CIApache2::Const::HTTP_NOT_IMPLEMENTED

since: 2.0.00

CIApache2::Const::HTTP_NOT_MODIFIED

since: 2.0.00

CIApache2::Const::HTTP_NO_CONTENT

since: 2.0.00

CIApache2::Const::HTTP_OK

since: 2.0.00

CIApache2::Const::HTTP_PARTIAL_CONTENT

since: 2.0.00

CIApache2::Const::HTTP_PAYMENT_REQUIRED

since: 2.0.00

CIApache2::Const::HTTP_PRECONDITION_FAILED

since: 2.0.00

CIApache2::Const::HTTP_PROCESSING

since: 2.0.00

CIApache2::Const::HTTP_PROXY_AUTHENTICATION_REQUIRED

since: 2.0.00

CIApache2::Const::HTTP_RANGE_NOT_SATISFIABLE

since: 2.0.00

CIApache2::Const::HTTP_REQUEST_ENTITY_TOO_LARGE

since: 2.0.00

CIApache2::Const::HTTP_REQUEST_TIME_OUT

since: 2.0.00

CIApache2::Const::HTTP_REQUEST_URI_TOO_LARGE

since: 2.0.00

CIApache2::Const::HTTP_RESET_CONTENT

since: 2.0.00

CIApache2::Const::HTTP_SEE_OTHER

since: 2.0.00

CIApache2::Const::HTTP_SERVICE_UNAVAILABLE

since: 2.0.00

CIApache2::Const::HTTP_SWITCHING_PROTOCOLS

since: 2.0.00

CIApache2::Const::HTTP_TEMPORARY_REDIRECT

since: 2.0.00

CIApache2::Const::HTTP_UNAUTHORIZED

since: 2.0.00

CIApache2::Const::HTTP_UNPROCESSABLE_ENTITY

since: 2.0.00

CIApache2::Const::HTTP_UNSUPPORTED_MEDIA_TYPE

since: 2.0.00

CIApache2::Const::HTTP_UPGRADE_REQUIRED

since: 2.0.00

CIApache2::Const::HTTP_USE_PROXY

since: 2.0.00

CIApache2::Const::HTTP_VARIANT_ALSO_VARIES

since: 2.0.00
  use Apache2::Const -compile => qw(:input_mode);

The CW:input_mode group is used by CWget_brigade.

CIApache2::Const::MODE_EATCRLF

since: 2.0.00

See CWCIApache2::Filter::get_brigade()CW.

CIApache2::Const::MODE_EXHAUSTIVE

since: 2.0.00

See CWCIApache2::Filter::get_brigade()CW.

CIApache2::Const::MODE_GETLINE

since: 2.0.00

See CWCIApache2::Filter::get_brigade()CW.

CIApache2::Const::MODE_INIT

since: 2.0.00

See CWCIApache2::Filter::get_brigade()CW.

CIApache2::Const::MODE_READBYTES

since: 2.0.00

See CWCIApache2::Filter::get_brigade()CW.

CIApache2::Const::MODE_SPECULATIVE

since: 2.0.00

See CWCIApache2::Filter::get_brigade()CW.

  use Apache2::Const -compile => qw(:log);

The CW:log group is for constants used by CWApache2::Log.

CIApache2::Const::LOG_ALERT

since: 2.0.00

See CWApache2::Log.

CIApache2::Const::LOG_CRIT

since: 2.0.00

See CWApache2::Log.

CIApache2::Const::LOG_DEBUG

since: 2.0.00

See CWApache2::Log.

CIApache2::Const::LOG_EMERG

since: 2.0.00

See CWApache2::Log.

CIApache2::Const::LOG_ERR

since: 2.0.00

See CWApache2::Log.

CIApache2::Const::LOG_INFO

since: 2.0.00

See CWApache2::Log.

CIApache2::Const::LOG_LEVELMASK

since: 2.0.00

See CWApache2::Log.

CIApache2::Const::LOG_NOTICE

since: 2.0.00

See CWApache2::Log.

CIApache2::Const::LOG_STARTUP

since: 2.0.00

See CWApache2::Log.

CIApache2::Const::LOG_TOCLIENT

since: 2.0.00

See CWApache2::Log.

CIApache2::Const::LOG_WARNING

since: 2.0.00

See CWApache2::Log.

  use Apache2::Const -compile => qw(:methods);

The CW:methods constants group is used in conjunction with CW$r->method_number.

CIApache2::Const::METHODS

since: 2.0.00

CIApache2::Const::M_BASELINE_CONTROL

since: 2.0.00

CIApache2::Const::M_CHECKIN

since: 2.0.00

CIApache2::Const::M_CHECKOUT

since: 2.0.00

CIApache2::Const::M_CONNECT

since: 2.0.00

CIApache2::Const::M_COPY

since: 2.0.00

CIApache2::Const::M_DELETE

since: 2.0.00

CIApache2::Const::M_GET

since: 2.0.00

corresponds to the HTTP CWGET method

CIApache2::Const::M_INVALID

since: 2.0.00

CIApache2::Const::M_LABEL

since: 2.0.00

CIApache2::Const::M_LOCK

since: 2.0.00

CIApache2::Const::M_MERGE

since: 2.0.00

CIApache2::Const::M_MKACTIVITY

since: 2.0.00

CIApache2::Const::M_MKCOL

since: 2.0.00

CIApache2::Const::M_MKWORKSPACE

since: 2.0.00

CIApache2::Const::M_MOVE

since: 2.0.00

CIApache2::Const::M_OPTIONS

since: 2.0.00

CIApache2::Const::M_PATCH

since: 2.0.00

CIApache2::Const::M_POST

since: 2.0.00

corresponds to the HTTP CWPOST method

CIApache2::Const::M_PROPFIND

since: 2.0.00

CIApache2::Const::M_PROPPATCH

since: 2.0.00

CIApache2::Const::M_PUT

since: 2.0.00

corresponds to the HTTP CWPUT method

CIApache2::Const::M_REPORT

since: 2.0.00

CIApache2::Const::M_TRACE

since: 2.0.00

CIApache2::Const::M_UNCHECKOUT

since: 2.0.00

CIApache2::Const::M_UNLOCK

since: 2.0.00

CIApache2::Const::M_UPDATE

since: 2.0.00

CIApache2::Const::M_VERSION_CONTROL

since: 2.0.00
  use Apache2::Const -compile => qw(:mpmq);

The CW:mpmq group is for querying MPM properties.

CIApache2::Const::MPMQ_NOT_SUPPORTED

since: 2.0.00

CIApache2::Const::MPMQ_STATIC

since: 2.0.00

CIApache2::Const::MPMQ_DYNAMIC

since: 2.0.00

CIApache2::Const::MPMQ_MAX_DAEMON_USED

since: 2.0.00

CIApache2::Const::MPMQ_IS_THREADED

since: 2.0.00

CIApache2::Const::MPMQ_IS_FORKED

since: 2.0.00

CIApache2::Const::MPMQ_HARD_LIMIT_DAEMONS

since: 2.0.00

CIApache2::Const::MPMQ_HARD_LIMIT_THREADS

since: 2.0.00

CIApache2::Const::MPMQ_MAX_THREADS

since: 2.0.00

CIApache2::Const::MPMQ_MIN_SPARE_DAEMONS

since: 2.0.00

CIApache2::Const::MPMQ_MIN_SPARE_THREADS

since: 2.0.00

CIApache2::Const::MPMQ_MAX_SPARE_DAEMONS

since: 2.0.00

CIApache2::Const::MPMQ_MAX_SPARE_THREADS

since: 2.0.00

CIApache2::Const::MPMQ_MAX_REQUESTS_DAEMON

since: 2.0.00

CIApache2::Const::MPMQ_MAX_DAEMONS

since: 2.0.00
  use Apache2::Const -compile => qw(:options);

The CW:options group contains constants corresponding to the CWOptions configuration directive. For examples see: CW$r->allow_options.

CIApache2::Const::OPT_ALL

since: 2.0.00

CIApache2::Const::OPT_EXECCGI

since: 2.0.00

CIApache2::Const::OPT_INCLUDES

since: 2.0.00

CIApache2::Const::OPT_INCNOEXEC

since: 2.0.00

CIApache2::Const::OPT_INDEXES

since: 2.0.00

CIApache2::Const::OPT_MULTI

since: 2.0.00

CIApache2::Const::OPT_NONE

since: 2.0.00

CIApache2::Const::OPT_SYM_LINKS

since: 2.0.00

CIApache2::Const::OPT_SYM_OWNER

since: 2.0.00

CIApache2::Const::OPT_UNSET

since: 2.0.00
  use Apache2::Const -compile => qw(:override);

The CW:override group contains constants corresponding to the CWAllowOverride configuration directive. For examples see: CW$r->allow_options.

CIApache2::Const::ACCESS_CONF

*.conf inside CW<Directory> or CW<Location>

since: 2.0.00

CIApache2::Const::EXEC_ON_READ

Force directive to execute a command which would modify the configuration (like including another file, or CWIFModule)

since: 2.0.00

CIApache2::Const::OR_ALL

CWApache2::Const::OR_LIMIT | CWApache2::Const::OR_OPTIONS | CWApache2::Const::OR_FILEINFO | CWApache2::Const::OR_AUTHCFG | CWApache2::Const::OR_INDEXES

since: 2.0.00

CIApache2::Const::OR_AUTHCFG

*.conf inside CW<Directory> or CW<Location> and .htaccess when CWAllowOverride AuthConfig

since: 2.0.00

CIApache2::Const::OR_FILEINFO

*.conf anywhere and .htaccess when CWAllowOverride FileInfo

since: 2.0.00

CIApache2::Const::OR_INDEXES

*.conf anywhere and .htaccess when CWAllowOverride Indexes

since: 2.0.00

CIApache2::Const::OR_LIMIT

*.conf inside CW<Directory> or CW<Location> and .htaccess when CWAllowOverride Limit

since: 2.0.00

CIApache2::Const::OR_NONE

*.conf is not available anywhere in this override

since: 2.0.00

CIApache2::Const::OR_OPTIONS

*.conf anywhere and .htaccess when CWAllowOverride Options

since: 2.0.00

CIApache2::Const::OR_UNSET

Unset a directive (in CWAllow)

since: 2.0.00

CIApache2::Const::RSRC_CONF

*.conf outside CW<Directory> or CW<Location>

since: 2.0.00
  use Apache2::Const -compile => qw(:platform);

The CW:platform group is for constants that may differ from OS to OS.

CIApache2::Const::CRLF

since: 2.0.00

CIApache2::Const::CR

since: 2.0.00

CIApache2::Const::LF

since: 2.0.00
  use Apache2::Const -compile => qw(:remotehost);

The CW:remotehost constants group is is used by the CW$c->get_remote_host method.

CIApache2::Const::REMOTE_DOUBLE_REV

since: 2.0.00

CIApache2::Const::REMOTE_HOST

since: 2.0.00

CIApache2::Const::REMOTE_NAME

since: 2.0.00

CIApache2::Const::REMOTE_NOLOOKUP

since: 2.0.00
  use Apache2::Const -compile => qw(:satisfy);

The CW:satisfy constants group is used in conjunction with CW$r->satisfies.

CIApache2::Const::SATISFY_ALL

since: 2.0.00

All of the requirements must be met.

CIApache2::Const::SATISFY_ANY

since: 2.0.00

any of the requirements must be met.

CIApache2::Const::SATISFY_NOSPEC

since: 2.0.00

There are no applicable satisfy lines

  use Apache2::Const -compile => qw(:types);

The CW:types group is for XXX constants.

CIApache2::Const::DIR_MAGIC_TYPE

since: 2.0.00
  use Apache2::Const -compile => qw(:proxy);

The CW:proxy constants group is used in conjunction with CW$r->proxyreq.

CIApache2::Const::PROXYREQ_NONE

since: 2.0.2

CIApache2::Const::PROXYREQ_PROXY

since: 2.0.2

CIApache2::Const::PROXYREQ_REVERSE

since: 2.0.2

See Also

mod_perl 2.0 documentation.

Copyright

mod_perl 2.0 and its core modules are copyrighted under The Apache Software License, Version 2.0.

Authors

The mod_perl development team and numerous contributors.