Bivio::Ext::ApacheConstants
# Copyright (c) 2000-2008 bivio Software, Inc. All rights reserved. # $Id$ package Bivio::Ext::ApacheConstants; use strict; use Bivio::Base 'Bivio::UNIVERSAL'; # C<Bivio::Ext::ApacheConstants> defines the Apache constants simply. # The module C<Apache::Constants> is broken when not loaded in Apache. # It is way to complex to figure out. The stubs in this module are # generated by first parsing the Constants.xs file with: # # perl -n - Constants.xs <<'EOF' # /strEQ.*"(\w+)"/ && print "print OUT \"$1 \",", # " Apache::Constants::$1(), \"\\n\";\n"; # EOF # # Then inserting that output in Agent::Dispatcher::initialize: # # open(OUT, '>constants.txt'); # -- insert the output above # close(OUT); # # Start apache. You may have go a couple of runs as not all constants # are defined on all platforms. # # Then take that output and run it through: # # perl -n - constants.txt <<'END'; # my($w, $v) = split; # # print <<"EOF"; # # =for html <a name="$w"></a> # # =head2 $w : int # # Returns $v. # # =cut # # sub $w { # return $v; # } # EOF # END # # Insert the result in the methods section. sub ACCESS_CONF { return 64; } sub AUTH_REQUIRED { return 401; } sub BAD_GATEWAY { return 502; } sub BAD_REQUEST { return 400; } sub CONTINUE { return -1; } sub DECLINED { return -1; } sub DOCUMENT_FOLLOWS { return 200; } sub DONE { return -2; } sub DYNAMIC_MODULE_LIMIT { return 64; } sub FORBIDDEN { return 403; } sub HTTP_ACCEPTED { return 202; } sub HTTP_BAD_GATEWAY { return 502; } sub HTTP_BAD_REQUEST { return 400; } sub HTTP_CONFLICT { return 409; } sub HTTP_CONTINUE { return 100; } sub HTTP_CREATED { return 201; } sub HTTP_FORBIDDEN { return 403; } sub HTTP_GATEWAY_TIME_OUT { return 504; } sub HTTP_GONE { return 410; } sub HTTP_INTERNAL_SERVER_ERROR { return 500; } sub HTTP_LENGTH_REQUIRED { return 411; } sub HTTP_METHOD_NOT_ALLOWED { return 405; } sub HTTP_MOVED_PERMANENTLY { return 301; } sub HTTP_MOVED_TEMPORARILY { return 302; } sub HTTP_MULTIPLE_CHOICES { return 300; } sub HTTP_NON_AUTHORITATIVE { return 203; } sub HTTP_NOT_ACCEPTABLE { return 406; } sub HTTP_NOT_FOUND { return 404; } sub HTTP_NOT_IMPLEMENTED { return 501; } sub HTTP_NOT_MODIFIED { return 304; } sub HTTP_NO_CONTENT { return 204; } sub HTTP_OK { return 200; } sub HTTP_PARTIAL_CONTENT { return 206; } sub HTTP_PAYMENT_REQUIRED { return 402; } sub HTTP_PRECONDITION_FAILED { return 412; } sub HTTP_PROXY_AUTHENTICATION_REQUIRED { return 407; } sub HTTP_REQUEST_ENTITY_TOO_LARGE { return 413; } sub HTTP_REQUEST_TIME_OUT { return 408; } sub HTTP_REQUEST_URI_TOO_LARGE { return 414; } sub HTTP_RESET_CONTENT { return 205; } sub HTTP_SEE_OTHER { return 303; } sub HTTP_SERVICE_UNAVAILABLE { return 503; } sub HTTP_SWITCHING_PROTOCOLS { return 101; } sub HTTP_TOO_MANY_REQUESTS { return 429; } sub HTTP_UNAUTHORIZED { return 401; } sub HTTP_UNSUPPORTED_MEDIA_TYPE { return 415; } sub HTTP_USE_PROXY { return 305; } sub HTTP_VARIANT_ALSO_VARIES { return 506; } sub HTTP_VERSION_NOT_SUPPORTED { return 505; } sub HUGE_STRING_LEN { return 8192; } sub MAX_STRING_LEN { return 8192; } sub METHODS { return 16; } sub MODULE_MAGIC_NUMBER { return 19990320; } sub MOVED { return 301; } sub MULTI_STATUS { return 207; } sub M_CONNECT { return 4; } sub M_COPY { return 11; } sub M_DELETE { return 3; } sub M_GET { return 0; } sub M_INVALID { return 15; } sub M_LOCK { return 13; } sub M_MKCOL { return 10; } sub M_MOVE { return 12; } sub M_OPTIONS { return 5; } sub M_PATCH { return 7; } sub M_POST { return 2; } sub M_PROPFIND { return 8; } sub M_PROPPATCH { return 9; } sub M_PUT { return 1; } sub M_TRACE { return 6; } sub M_UNLOCK { return 14; } sub NOT_AUTHORITATIVE { return -1; } sub NOT_FOUND { return 404; } sub NOT_IMPLEMENTED { return 501; } sub OK { return 0; } sub OPT_ALL { return 15; } sub OPT_EXECCGI { return 8; } sub OPT_INCLUDES { return 2; } sub OPT_INCNOEXEC { return 32; } sub OPT_INDEXES { return 1; } sub OPT_MULTI { return 128; } sub OPT_NONE { return 0; } sub OPT_SYM_LINKS { return 4; } sub OPT_SYM_OWNER { return 64; } sub OPT_UNSET { return 16; } sub OR_ALL { return 31; } sub OR_AUTHCFG { return 8; } sub OR_FILEINFO { return 4; } sub OR_INDEXES { return 16; } sub OR_LIMIT { return 1; } sub OR_NONE { return 0; } sub OR_OPTIONS { return 2; } sub OR_UNSET { return 32; } sub REDIRECT { return 302; } sub REMOTE_DOUBLE_REV { return 3; } sub REMOTE_HOST { return 0; } sub REMOTE_NAME { return 1; } sub REMOTE_NOLOOKUP { return 2; } sub REQUEST_CHUNKED_DECHUNK { return 2; } sub REQUEST_CHUNKED_ERROR { return 1; } sub REQUEST_CHUNKED_PASS { return 3; } sub REQUEST_NO_BODY { return 0; } sub RESPONSE_CODES { return 55; } sub RSRC_CONF { return 128; } sub SATISFY_ALL { return 0; } sub SATISFY_ANY { return 1; } sub SATISFY_NOSPEC { return 2; } sub SERVER_ERROR { return 500; } sub USE_LOCAL_COPY { return 304; } 1;