Added SpeedyCGI, partly fixed HTTP::Daemon
[catagits/Catalyst-Runtime.git] / lib / Catalyst / Engine / FastCGI / Base.pm
index ee353b0..e3315dc 100644 (file)
@@ -1,8 +1,12 @@
 package Catalyst::Engine::FastCGI::Base;
 
 use strict;
+use base 'Catalyst::Engine::CGI::Base';
+
 use FCGI;
 
+__PACKAGE__->mk_accessors('fastcgi');
+
 =head1 NAME
 
 Catalyst::Engine::FastCGI::Base - Base class for FastCGI Engines
@@ -15,15 +19,38 @@ This is a base class for FastCGI engines.
 
 =over 4
 
+=item $c->fastcgi
+
+Contains the C<FCGI::Request> object.
+
+=back
+
+=head1 OVERLOADED METHODS
+
+This class overloads some methods from C<Catalyst::Engine::CGI::Base>.
+
+=over 4
+
+=item $c->prepare_request
+
+=cut
+
+sub prepare_request {
+    my ( $c, $fastcgi ) = @_;
+    $c->fastcgi($fastcgi);
+}
+
 =item $c->run
 
 =cut
 
 sub run {
-    my $class   = shift;
+    my ( $class, @arguments ) = @_;
+    
     my $request = FCGI::Request();
-    while ( $request->Accept() >= 0 ) {
-        $class->handler;
+    
+    while ( $request->Accept >= 0 ) {
+        $class->handler( $request, @arguments );
     }
 }
 
@@ -31,7 +58,7 @@ sub run {
 
 =head1 SEE ALSO
 
-L<Catalyst>.
+L<Catalyst>, L<FCGI>, L<Catalyst::Engine::CGI::Base>.
 
 =head1 AUTHOR