1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170
|
=head1 NAME
Net::FastCGI - FastCGI Toolkit
=head1 DESCRIPTION
This distribution aims to provide a complete API for working with the FastCGI
protocol.
The primary goal is to provide a function oriented and object oriented API which
are not tied to a specific I/O model or framework.
Secondary goal is to provide higher level tools/API which can be used for debugging
and interoperability testing.
=head1 PROGRESS
The function oriented API is considered feature complete. L<Net::FastCGI::Protocol>
provides functions to build and parse all FastCGI v1.0 messages, also provided is a
few convenient higher level functions such as C<build_begin_request()>,
C<build_end_request()>, C<parse_record()> and C<dump_record()>.
Work has begun on object oriented implementation and a simple blocking I/O class which is
intended for testing and debugging.
=head1 PACKAGES
=over 4
=item L<Net::FastCGI::Constant>
FastCGI protocol constants.
=item L<Net::FastCGI::IO>
Provides functions to read and write FastCGI messages.
=item L<Net::FastCGI::Protocol>
Provides functions to build and parse FastCGI messages.
=back
=head1 ENVIRONMENT
Environment variable C<NET_FASTCGI_PP> can be set to a true value before loading
this package to disable usage of XS implementation.
=head1 PREREQUISITES
=head2 Run-Time
=over 4
=item L<perl> 5.6 or greater.
=item L<Carp>, core module.
=item L<Exporter>, core module.
=back
=head2 Build-Time
In addition to Run-Time:
=over 4
=item L<Test::More> 0.47 or greater, core module since 5.6.2.
=item L<Test::Exception>.
=item L<Test::HexString>.
=back
=head1 SEE ALSO
=head2 Community
=over 4
=item Official FastCGI site
L<http://www.fastcgi.com/>
=back
=head2 Standards
=over 4
=item FastCGI Specification Version 1.0
L<http://www.fastcgi.com/devkit/doc/fcgi-spec.html>
=item RFC 3875 - The Common Gateway Interface (CGI) Version 1.1
L<http://tools.ietf.org/html/rfc3875>
=back
=head2 White papers
=over 4
=item FastCGI: A High-Performance Web Server Interface
L<http://www.fastcgi.com/devkit/doc/fastcgi-whitepaper/fastcgi.htm>
=item FastCGI - The Forgotten Treasure
L<http://cryp.to/publications/fastcgi/>
=back
=head2 Perl implementations
=over 4
=item L<AnyEvent::FCGI>
Application server implementation, built on top of L<AnyEvent>. Supports Responder role.
Capable of multiplexing.
=item L<FCGI>
Application server implementation, built on top of C<libfcgi> (reference implementation).
Supports all FastCGI roles. Responds to management records. Processes requests synchronously.
=item L<FCGI::Async>
Application server implementation, built on top of L<IO::Async>. Supports Responder role.
Responds to management records. Capable of multiplexing.
=item L<FCGI::Client>
Client (Web server) implementation. Supports Responder role.
=item L<FCGI::EV>
Application server implementation, built on top of L<EV>. Supports Responder role.
=item L<Mojo::Server::FastCGI>
Application server implementation. Supports Responder role. Processes requests synchronously.
=item L<POE::Component::FastCGI>
Application server implementation, built on top of L<POE>. Supports Responder role.
Capable of multiplexing.
=back
=head1 SUPPORT
Please report any bugs or feature requests to C<bug-net-fastcgi@rt.cpan.org>, or through
the web interface at L<http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Net-FastCGI>
=head1 AUTHOR
Christian Hansen C<chansen@cpan.org>
=head1 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.
|