1 package Catalyst::Script::Server;
4 $ENV{CATALYST_ENGINE} ||= 'HTTP';
5 $ENV{CATALYST_SCRIPT_GEN} = 31;
6 require Catalyst::Engine::HTTP;
10 use lib "$Bin/../lib";
13 use Catalyst::Engine::HTTP;
14 use namespace::clean -except => [ qw(meta) ];
16 with 'MooseX::Getopt';
19 traits => [qw(Getopt)],
31 default => "localhost"
35 traits => [qw(Getopt)],
43 traits => [qw(Getopt)],
52 traits => [qw(Getopt)],
59 has keepalive => ( isa => 'Bool', is => 'ro', required => 0, default => 0 );
60 has background => ( isa => 'Bool', is => 'ro', required => 0 );
61 has app => ( isa => 'Str', is => 'ro', required => 1 );
62 has restart => ( isa => 'Bool', is => 'ro', required => 0 );
63 has restart_delay => ( isa => 'Int', is => 'ro', required => 0 );
64 has restart_regex => ( isa => 'Str', is => 'ro', required => 0 );
65 has follow_symlinks => ( isa => 'Bool', is => 'ro', required => 0 );
72 pod2usage() if $self->help;
74 Class::MOP::load_class($app);
76 $self->listen, $self->host,
78 'fork' => $self->fork,
79 keepalive => $self->keepalive,
80 background => $self->background,
81 pidfile => $self->pidfile,
82 keepalive => $self->keepalive,
83 restart => $self->restart,
84 restart_delay => $self->restart_delay,
85 restart_regex => qr/$self->restart_regex/,
86 # FIXME restart_directory => $self->restart_directory,
87 follow_symlinks => $self->follow_symlinks,
98 [% appprefix %]_server.pl - Catalyst Testserver
102 [% appprefix %]_server.pl [options]
105 -d -debug force debug mode
106 -f -fork handle each request in a new process
108 -? -help display this help and exits
109 -host host (defaults to all)
110 -p -port port (defaults to 3000)
111 -k -keepalive enable keep-alive connections
112 -r -restart restart when files get modified
114 -rd -restartdelay delay between file checks
115 (ignored if you have Linux::Inotify2 installed)
116 -rr -restartregex regex match files that trigger
117 a restart when modified
118 (defaults to '\.yml$|\.yaml$|\.conf|\.pm$')
119 -restartdirectory the directory to search for
120 modified files, can be set mulitple times
121 (defaults to '[SCRIPT_DIR]/..')
122 -follow_symlinks follow symlinks in search directories
123 (defaults to false. this is a no-op on Win32)
124 -background run the process in the background
125 -pidfile specify filename for pid file
128 perldoc Catalyst::Manual
129 perldoc Catalyst::Manual::Intro
133 Run a Catalyst Testserver for this application.
137 Catalyst Contributors, see Catalyst.pm
141 This library is free software. You can redistribute it and/or modify
142 it under the same terms as Perl itself.