use Scalar::Util qw/weaken/;
use attributes;
+# For PAR
+require Catalyst::Helper;
+require Catalyst::PAR;
+require Catalyst::Build;
+
+require Catalyst::Engine::HTTP;
+require Catalyst::Engine::CGI;
+require Catalyst::Engine::FastCGI;
+
+require Catalyst::Controller;
+require Catalyst::Model;
+require Catalyst::View;
+
__PACKAGE__->mk_accessors(
qw/counter request response state action stack namespace/
);
use strict;
use base 'Catalyst::Engine::CGI';
-use FCGI;
+eval "use FCGI";
+die "Please install FCGI\n" if $@;
=head1 NAME
}
$options ||= {};
-
+
my %env;
my $request =
);
my $proc_manager;
-
- if ( $listen ) {
+
+ if ($listen) {
require FCGI::ProcManager;
$options->{nproc} ||= 1;
-
- $proc_manager
- = FCGI::ProcManager->new( { n_processes => $options->{nproc} } );
-
+
+ $proc_manager =
+ FCGI::ProcManager->new( { n_processes => $options->{nproc} } );
+
if ( $options->{pidfile} ) {
$proc_manager->pm_write_pid_file( $options->{pidfile} );
}
-
+
$proc_manager->pm_manage();
}
use IO::File;
use FindBin;
use Template;
-use Catalyst;
use Catalyst::Utils;
use Catalyst::Exception;
sub mk_app {
my ( $self, $name ) = @_;
+
+ # Needs to be here for PAR
+ require Catalyst;
+
return 0 if $name =~ /[^\w\:]/;
$self->{name} = $name;
$self->{dir} = $name;