X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FCatalyst%2FHelper.pm;h=b9b2f5df7ec3e37206e08040c272cc91384b95f8;hb=cb8d90e53d5eb2f3f985ca9f53d072797ab016af;hp=74bd0fa76837b53db34589463cb36fbe34049af4;hpb=3fde004fb4834f17f75d0966097ff0094069402d;p=catagits%2FCatalyst-Runtime.git diff --git a/lib/Catalyst/Helper.pm b/lib/Catalyst/Helper.pm index 74bd0fa..b9b2f5d 100644 --- a/lib/Catalyst/Helper.pm +++ b/lib/Catalyst/Helper.pm @@ -39,8 +39,8 @@ sub mk_app { $self->_mk_changes; $self->_mk_apptest; $self->_mk_cgi; + $self->_mk_fcgi; $self->_mk_server; - $self->_mk_cgiserver; $self->_mk_test; $self->_mk_create; return 1; @@ -325,6 +325,11 @@ sub _mk_cgi { $self->mk_file( "$script\/nph-cgi.pl", <<"EOF"); $Config{startperl} -w +BEGIN { + \$ENV{CATALYST_ENGINE} = 'CGI'; + \$ENV{CATALYST_TEST} = 1; +} + use strict; use FindBin; use lib "\$FindBin::Bin/../lib"; @@ -363,51 +368,50 @@ EOF chmod 0700, "$script/nph-cgi.pl"; } -sub _mk_server { +sub _mk_fcgi { my $self = shift; my $name = $self->{name}; my $script = $self->{script}; - $self->mk_file( "$script\/server.pl", <<"EOF"); + $self->mk_file( "$script\/fcgi.pl", <<"EOF"); $Config{startperl} -w +BEGIN { + \$ENV{CATALYST_ENGINE} = 'CGI'; + \$ENV{CATALYST_TEST} = 1; +} + use strict; -use Getopt::Long; -use Pod::Usage; use FindBin; use lib "\$FindBin::Bin/../lib"; -use Catalyst::Test '$name'; - -my \$help = 0; -my \$port = 3000; - -GetOptions( 'help|?' => \\\$help, 'port=s' => \\\$port ); - -pod2usage(1) if \$help; +use FCGI; +use $name; -Catalyst::Test::server(\$port); +my \$request = FCGI::Request(); +while ( \$request->Accept() >= 0 ) { + my \$output; + { + local(*STDOUT); + open( STDOUT, '>', \\\$output ); + $name->run; + } + \$output =~ s!^HTTP/\\d+.\\d+ \\d\\d\\d.*?\\n!!s; + print \$output; +} 1; __END__ =head1 NAME -server - Catalyst Testserver +fcgi - Catalyst FCGI =head1 SYNOPSIS -server.pl [options] - - Options: - -? -help display this help and exits - -p -port port (defaults to 3000) - - See also: - perldoc Catalyst::Manual - perldoc Catalyst::Manual::Intro +See L =head1 DESCRIPTION -Run a Catalyst Testserver for this application. +Run a Catalyst application as fcgi. =head1 AUTHOR @@ -422,22 +426,27 @@ the same terms as perl itself. =cut EOF - chmod 0700, "$script/server.pl"; + chmod 0700, "$script/fcgi.pl"; } -sub _mk_cgiserver { +sub _mk_server { my $self = shift; my $name = $self->{name}; my $script = $self->{script}; - $self->mk_file( "$script\/cgi-server.pl", <<"EOF"); + $self->mk_file( "$script\/server.pl", <<"EOF"); $Config{startperl} -w +BEGIN { + \$ENV{CATALYST_ENGINE} = 'Server'; + \$ENV{CATALYST_TEST} = 1; +} + use strict; use Getopt::Long; use Pod::Usage; use FindBin; -use File::Spec; -use Catalyst::Test; +use lib "\$FindBin::Bin/../lib"; +use $name; my \$help = 0; my \$port = 3000; @@ -446,19 +455,18 @@ GetOptions( 'help|?' => \\\$help, 'port=s' => \\\$port ); pod2usage(1) if \$help; -Catalyst::Test::server( - \$port, File::Spec->catfile( \$FindBin::Bin, 'nph-cgi.pl' ) ); +$name->run(\$port); 1; __END__ =head1 NAME -cgi-server - Catalyst CGI Testserver +server - Catalyst Testserver =head1 SYNOPSIS -cgi-server.pl [options] +server.pl [options] Options: -? -help display this help and exits @@ -470,10 +478,7 @@ cgi-server.pl [options] =head1 DESCRIPTION -Run a Catalyst CGI Testserver for this application. - -Similar to the regular server but doesn't require a restart -after code changes! +Run a Catalyst Testserver for this application. =head1 AUTHOR @@ -488,7 +493,7 @@ the same terms as perl itself. =cut EOF - chmod 0700, "$script/cgi-server.pl"; + chmod 0700, "$script/server.pl"; } sub _mk_test {