Constants(3p)         User Contributed Perl Documentation        Constants(3p)



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 "FORBIDDEN", but for the string
       "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 "OK != HTTP_OK".

AUTHORS
       Doug MacEachern, Gisle Aas and h2xs



perl v5.12.2                      2002-06-06                     Constants(3p)
