man Apache::Constants () - Constants defined in apache header files
NAME
Apache::Constants - Constants defined in apache header files
SYNOPSIS
use Apache::Constants; use Apache::Constants ':common'; use Apache::Constants ':response';
DESCRIPTION
Server constants used by apache modules are defined in httpd.h and other header files, this module gives Perl access to those constants.
EXPORT TAGS
- common
-
This tag imports the most commonly used constants.
OK DECLINED DONE NOT_FOUND FORBIDDEN AUTH_REQUIRED SERVER_ERROR
- response
-
This tag imports the common response codes, plus these
response codes:
DOCUMENT_FOLLOWS MOVED REDIRECT USE_LOCAL_COPY BAD_REQUEST BAD_GATEWAY RESPONSE_CODES NOT_IMPLEMENTED CONTINUE NOT_AUTHORITATIVE
CONTINUE and NOT_AUTHORITATIVE are aliases for DECLINED. - methods
-
This are the method numbers, commonly used with
the Apache method_number method.
METHODS M_CONNECT M_DELETE M_GET M_INVALID M_OPTIONS M_POST M_PUT M_TRACE M_PATCH M_PROPFIND M_PROPPATCH M_MKCOL M_COPY M_MOVE M_LOCK M_UNLOCK
- options
-
These constants are most commonly used with
the Apache allow_options method:
OPT_NONE OPT_INDEXES OPT_INCLUDES OPT_SYM_LINKS OPT_EXECCGI OPT_UNSET OPT_INCNOEXEC OPT_SYM_OWNER OPT_MULTI OPT_ALL
- satisfy
-
These constants are most commonly used with
the Apache satisfies method:
SATISFY_ALL SATISFY_ANY SATISFY_NOSPEC
- remotehost
-
These constants are most commonly used with
the Apache get_remote_host method:
REMOTE_HOST REMOTE_NAME REMOTE_NOLOOKUP REMOTE_DOUBLE_REV
- http
-
This is the full set of HTTP response codes:
(NOTE: not all implemented here)
HTTP_OK HTTP_MOVED_TEMPORARILY HTTP_MOVED_PERMANENTLY HTTP_METHOD_NOT_ALLOWED HTTP_NOT_MODIFIED HTTP_UNAUTHORIZED HTTP_FORBIDDEN HTTP_NOT_FOUND HTTP_BAD_REQUEST HTTP_INTERNAL_SERVER_ERROR HTTP_NOT_ACCEPTABLE HTTP_NO_CONTENT HTTP_PRECONDITION_FAILED HTTP_SERVICE_UNAVAILABLE HTTP_VARIANT_ALSO_VARIES
- server
-
These are constants related to server version:
MODULE_MAGIC_NUMBER SERVER_VERSION SERVER_BUILT
- config
-
These are constants related to configuration directives:
DECLINE_CMD
- types
-
These are constants related to internal request types:
DIR_MAGIC_TYPE
- override
-
These constants are used to control and test the context of configuration
directives.
OR_NONE OR_LIMIT OR_OPTIONS OR_FILEINFO OR_AUTHCFG OR_INDEXES OR_UNSET OR_ALL ACCESS_CONF RSRC_CONF
- args_how
-
RAW_ARGS TAKE1 TAKE2 TAKE12 TAKE3 TAKE23 TAKE123 ITERATE ITERATE2 FLAG NO_ARGS
Misuses
You should be aware of the issues relating to using constant subroutines in Perl. For example this:
$r->custom_response(FORBIDDEN => "File size exceeds quota.");
will not set a custom response for CWFORBIDDEN, but for the string CW"FORBIDDEN", which clearly isn't what is expected. You'll get an error like this:
[Tue Apr 23 19:46:14 2002] null: Argument "FORBIDDEN" isn't numeric in subroutine entry at ...
Therefore, the best solution is not to use the hash notation for things that don't require it:
$r->custom_response(FORBIDDEN, "File size exceeds quota.");
Another important note is that instead of using HTTP codes, you should use designed for that purpose constants. Therefore, this is wrong:
sub handler { return 200; }
The correct use is:
use Apache::Constants qw(OK); sub handler { return OK; }
Also remember that CWOK != HTTP_OK.
AUTHORS
Doug MacEachern, Gisle Aas and h2xs