NAME
Net::FastCGI::Constant - FastCGI protocol constants.
DESCRIPTION
FastCGI protocol constants.
CONSTANTS
Constants can either be imported individually or in sets grouped by tag names. The tag names are:
:common
FCGI_MAX_CONTENT_LEN-
Maximum number of octets that the content component of the record can hold. (
65535) FCGI_HEADER_LEN-
Number of octets in
FCGI_Header. (8) FCGI_VERSION_1-
Value for
versioncomponent ofFCGI_Header. (1) FCGI_NULL_REQUEST_ID-
Value for
request_idcomponent ofFCGI_Header. (0)
:type
Values for type component of FCGI_Header.
FCGI_BEGIN_REQUESTFCGI_ABORT_REQUESTFCGI_END_REQUESTFCGI_PARAMSFCGI_STDINFCGI_STDOUTFCGI_STDERRFCGI_DATAFCGI_GET_VALUESFCGI_GET_VALUES_RESULTFCGI_UNKNOWN_TYPEFCGI_MAXTYPE
:flag
Mask for flags component of FCGI_BeginRequestBody.
FCGI_KEEP_CONN
:role
Values for role component of FCGI_BeginRequestBody.
FCGI_RESPONDERFCGI_AUTHORIZERFCGI_FILTER
:protocol_status
Values for protocol_status component of FCGI_EndRequestBody.
FCGI_REQUEST_COMPLETEFCGI_CANT_MPX_CONNFCGI_OVERLOADEDFCGI_UNKNOWN_ROLE
:value
Variable names for FCGI_GET_VALUES / FCGI_GET_VALUES_RESULT records.
FCGI_MAX_CONNSFCGI_MAX_REQSFCGI_MPXS_CONNS
:pack
pack() / unpack() templates
FCGI_Header-
Octet/ 0 | 1 | / | | | 0 1 2 3 4 5 6 7 | 0 1 2 3 4 5 6 7 | +-----------------+-----------------+ 0 | Version | Type | +-----------------+-----------------+ 2 | Request ID | +-----------------+-----------------+ 4 | Content Length | +-----------------+-----------------+ 6 | Padding Length | Reserved | +-----------------+-----------------+ Total 8 octets Template: CCnnCx my ($version, $type, $request_id, $content_length, $padding_length) = unpack(FCGI_Header, $octets); FCGI_BeginRequestBody-
Octet/ 0 | 1 | / | | | 0 1 2 3 4 5 6 7 | 0 1 2 3 4 5 6 7 | +-----------------+-----------------+ 0 | Role | +-----------------+-----------------+ 2 | Flags | | +-----------------+ + 4 | | + Reserved + 6 | | +-----------------+-----------------+ Total 8 octets Template: nCx5 my ($role, $flags) = unpack(FCGI_BeginRequestBody, $octets); FCGI_EndRequestBody-
Octet/ 0 | 1 | / | | | 0 1 2 3 4 5 6 7 | 0 1 2 3 4 5 6 7 | +-----------------+-----------------+ 0 | | + Application Status + 2 | | +-----------------+-----------------+ 4 | Protocol Status | | +-----------------+ Reserved + 6 | | +-----------------+-----------------+ Total 8 octets Template: NCx3 my ($app_status, $protocol_status) = unpack(FCGI_EndRequestBody, $octets); FCGI_UnknownTypeBody-
Octet/ 0 | 1 | / | | | 0 1 2 3 4 5 6 7 | 0 1 2 3 4 5 6 7 | +-----------------+-----------------+ 0 | Unknown Type | | +-----------------+ + 2 | | + + 4 | Reserved | + + 6 | | +-----------------+-----------------+ Total 8 octets Template: Cx7 my $unknown_type = unpack(FCGI_UnknownTypeBody, $octets);
:name
Arrays containing names of value components. These are read-only.
@FCGI_TYPE_NAME-
print $FCGI_TYPE_NAME[FCGI_BEGIN_REQUEST]; # FCGI_BEGIN_REQUEST @FCGI_ROLE_NAME-
print $FCGI_ROLE_NAME[FCGI_RESPONDER]; # FCGI_RESPONDER @FCGI_PROTOCOL_STATUS_NAME-
print $FCGI_PROTOCOL_STATUS_NAME[FCGI_OVERLOADED]; # FCGI_OVERLOADED
Note
It's not safe to assume that exists works for validation purposes, index 0 might be undef.
Use boolean context instead:
($FCGI_TYPE_NAME[$type])
|| die;
EXPORTS
None by default. All functions can be exported using the :all tag or individually.
SEE ALSO
AUTHOR
Christian Hansen chansen@cpan.org
COPYRIGHT
Copyright 2008-2010 by Christian Hansen.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.