summaryrefslogtreecommitdiffstats
path: root/web/server/h2o/libh2o/misc/p5-net-fastcgi/lib/Net/FastCGI.pod
blob: 65725b958f3b10b2b482b99f15ededf6892a81f9 (plain)
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.