Net::FastCGI::Constant(3)

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 of "FCGI_Header". (1)

"FCGI_NULL_REQUEST_ID"
    Value for "request_id" component of "FCGI_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".

"FCGI_KEEP_CONN"

  ":role"
Values for "role" component of "FCGI_BeginRequestBody".

"FCGI_RESPONDER"
"FCGI_AUTHORIZER"
"FCGI_FILTER"

  ":protocol_status"
Values for "protocol_status" component of "FCGI_EndRequestBody".

"FCGI_REQUEST_COMPLETE"
"FCGI_CANT_MPX_CONN"
"FCGI_OVERLOADED"
"FCGI_UNKNOWN_ROLE"

  ":value"
Variable names for "FCGI_GET_VALUES" / "FCGI_GET_VALUES_RESULT" records.

"FCGI_MAX_CONNS"
"FCGI_MAX_REQS"
"FCGI_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

<http://www.fastcgi.com/devkit/doc/fcgi-spec.html>

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.