Added error message if using an invalid app name with helper (LTjake)
[catagits/Catalyst-Runtime.git] / lib / Catalyst / Helper.pm
index 4787359..4087584 100644 (file)
@@ -60,7 +60,10 @@ sub mk_app {
     # Needs to be here for PAR
     require Catalyst;
 
-    return 0 if $name =~ /[^\w\:]/;
+    if ( $name =~ /[^\w\:]/ ) {
+        warn "Error: Invalid application name.\n";
+        return 0;
+    }
     $self->{name} = $name;
     $self->{dir}  = $name;
     $self->{dir} =~ s/\:\:/-/g;
@@ -651,7 +654,7 @@ plan skip_all => 'set TEST_POD to enable this test' unless $ENV{TEST_POD};
 
 all_pod_coverage_ok();
 __cgi__
-[% startperl %] -w
+[% startperl %]
 
 BEGIN { $ENV{CATALYST_ENGINE} ||= 'CGI' }
 
@@ -689,7 +692,7 @@ it under the same terms as Perl itself.
 
 =cut
 __fastcgi__
-[% startperl %] -w
+[% startperl %]
 
 BEGIN { $ENV{CATALYST_ENGINE} ||= 'FastCGI' }
 
@@ -701,13 +704,15 @@ use lib "$FindBin::Bin/../lib";
 use [% name %];
 
 my $help = 0;
-my ( $listen, $nproc, $pidfile );
+my ( $listen, $nproc, $pidfile, $manager, $detach );
  
 GetOptions(
     'help|?'      => \$help,
     'listen|l=s'  => \$listen,
     'nproc|n=i'   => \$nproc,
     'pidfile|p=s' => \$pidfile,
+    'manager|M=s' => \$manager,
+    'daemon|d'    => \$detach,
 );
 
 pod2usage(1) if $help;
@@ -716,6 +721,8 @@ pod2usage(1) if $help;
     $listen, 
     {   nproc   => $nproc,
         pidfile => $pidfile, 
+        manager => $manager,
+        detach  => $detach,
     }
 );
 
@@ -740,6 +747,10 @@ pod2usage(1) if $help;
                  requires -listen)
    -p -pidfile   specify filename for pid file
                  (requires -listen)
+   -d -daemon    daemonize (requires -listen)
+   -M -manager   specify alternate process manager
+                 (FCGI::ProcessManager sub-class)
+                 or empty string to disable
 
 =head1 DESCRIPTION
 
@@ -758,7 +769,7 @@ it under the same terms as Perl itself.
 
 =cut
 __server__
-[% startperl %] -w
+[% startperl %]
 
 BEGIN { 
     $ENV{CATALYST_ENGINE} ||= 'HTTP';
@@ -776,6 +787,7 @@ my $fork          = 0;
 my $help          = 0;
 my $host          = undef;
 my $port          = 3000;
+my $keepalive     = 0;
 my $restart       = 0;
 my $restart_delay = 1;
 my $restart_regex = '\.yml$|\.yaml$|\.pm$';
@@ -788,6 +800,7 @@ GetOptions(
     'help|?'            => \$help,
     'host=s'            => \$host,
     'port=s'            => \$port,
+    'keepalive|k'       => \$keepalive,
     'restart|r'         => \$restart,
     'restartdelay|rd=s' => \$restart_delay,
     'restartregex|rr=s' => \$restart_regex
@@ -805,9 +818,10 @@ if ( $debug ) {
 require [% name %];
 
 [% name %]->run( $port, $host, {
-    argv   => \@argv,
-    'fork' => $fork,
-    restart => $restart,
+    argv          => \@argv,
+    'fork'        => $fork,
+    keepalive     => $keepalive,
+    restart       => $restart,
     restart_delay => $restart_delay,
     restart_regex => qr/$restart_regex/
 } );
@@ -829,6 +843,7 @@ require [% name %];
    -? -help           display this help and exits
       -host           host (defaults to all)
    -p -port           port (defaults to 3000)
+   -k -keepalive      enable keep-alive connections
    -r -restart        restart when files got modified
                       (defaults to false)
    -rd -restartdelay  delay between file checks
@@ -857,7 +872,7 @@ it under the same terms as Perl itself.
 
 =cut
 __test__
-[% startperl %] -w
+[% startperl %]
 
 use strict;
 use Getopt::Long;
@@ -912,7 +927,7 @@ it under the same terms as Perl itself.
 
 =cut
 __create__
-[% startperl %] -w
+[% startperl %]
 
 use strict;
 use Getopt::Long;
@@ -985,7 +1000,7 @@ it under the same terms as Perl itself.
 
 =cut
 __package__
-[% startperl %] -w
+[% startperl %]
 
 use strict;
 use Getopt::Long;
@@ -1023,7 +1038,7 @@ Catalyst::PAR->new->package( {
 
 =head1 NAME
 
-[% appprefix %]_package.pl - Package a Catalyst application
+[% appprefix %]_package.pl - Package Catalyst Applications
 
 =head1 SYNOPSIS
 
@@ -1050,7 +1065,7 @@ Catalyst::PAR->new->package( {
 
 =head1 DESCRIPTION
 
-Package a Catalyst application with L<PAR>.
+Package Catalyst Applications with L<PAR>.
 
 =head1 AUTHOR