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
version
component ofFCGI_Header
. (1
) FCGI_NULL_REQUEST_ID
-
Value for
request_id
component ofFCGI_Header
. (0
)
:type
Values for type
component of FCGI_Header
.
FCGI_BEGIN_REQUEST
FCGI_ABORT_REQUEST
FCGI_END_REQUEST
FCGI_PARAMS
FCGI_STDIN
FCGI_STDOUT
FCGI_STDERR
FCGI_DATA
FCGI_GET_VALUES
FCGI_GET_VALUES_RESULT
FCGI_UNKNOWN_TYPE
FCGI_MAXTYPE
:flag
Mask for flags
component of FCGI_BeginRequestBody
.
:role
Values for role
component of FCGI_BeginRequestBody
.
:protocol_status
Values for protocol_status
component of FCGI_EndRequestBody
.
:value
Variable names for FCGI_GET_VALUES
/ FCGI_GET_VALUES_RESULT
records.
: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.