Factor stuff out into a script role, clean up all the script code
[catagits/Catalyst-Runtime.git] / lib / Catalyst / Script / FastCGI.pm
CommitLineData
0ba6e8aa 1package Catalyst::Script::FastCGI;
2
cc999ce2 3BEGIN { $ENV{CATALYST_ENGINE} ||= 'FastCGI' }
cc999ce2 4use Moose;
4e45780e 5use MooseX::Types::Moose qw/Str Bool Int/;
2adf69c3 6use namespace::autoclean;
cc999ce2 7
d3082fac 8with 'Catalyst::ScriptRole';
f4dc8d2f 9
10has listen => (
f4dc8d2f 11 cmd_aliases => 'l',
73e4f0f1 12 isa => Int,
f4dc8d2f 13 is => 'ro',
d3082fac 14 documentation => 'Specify a listening port/socket',
f4dc8d2f 15);
16
17has pidfile => (
f4dc8d2f 18 cmd_aliases => 'pid',
73e4f0f1 19 isa => Str,
f4dc8d2f 20 is => 'ro',
d3082fac 21 documentation => 'Specify a pidfile',
f4dc8d2f 22);
23
24has daemon => (
73e4f0f1 25 isa => Bool,
f4dc8d2f 26 is => 'ro',
f4dc8d2f 27 cmd_aliases => 'd',
d3082fac 28 documentation => 'Daemonize',
f4dc8d2f 29);
30
31has manager => (
73e4f0f1 32 isa => Str,
f4dc8d2f 33 is => 'ro',
f4dc8d2f 34 cmd_aliases => 'm',
d3082fac 35 documentation => 'Use a different FastCGI manager', # FIXME
f4dc8d2f 36);
37
38has keep_stderr => (
f4dc8d2f 39 cmd_aliases => 'std',
73e4f0f1 40 isa => Bool,
f4dc8d2f 41 is => 'ro',
d3082fac 42 documentation => 'Log STDERR',
f4dc8d2f 43);
44
45has nproc => (
f4dc8d2f 46 cmd_aliases => 'np',
73e4f0f1 47 isa => Int,
f4dc8d2f 48 is => 'ro',
d3082fac 49 documentation => 'Specify an nproc', # FIXME
f4dc8d2f 50);
51
52has detach => (
f4dc8d2f 53 cmd_aliases => 'det',
73e4f0f1 54 isa => Bool,
f4dc8d2f 55 is => 'ro',
d3082fac 56 documentation => 'Detach this FastCGI process',
d9a32f71 57);
cc999ce2 58
d3082fac 59sub _application_args {
60 my ($self) = shift;
61 return (
cc999ce2 62 $self->listen,
57dc50b0 63 {
cc999ce2 64 nproc => $self->nproc,
65 pidfile => $self->pidfile,
66 manager => $self->manager,
67 detach => $self->detach,
68 keep_stderr => $self->keep_stderr,
57dc50b0 69 }
cc999ce2 70 );
cc999ce2 71}
72
73e4f0f1 73__PACKAGE__->meta->make_immutable;
74
d3082fac 75=head1 NAME
76
77Catalyst::Script::FastCGI - The FastCGI Catalyst Script
78
79=head1 SYNOPSIS
80
81See L<Catalyst>.
82
83=head1 DESCRIPTION
84
85FIXME
86
87=head1 AUTHORS
88
89Catalyst Contributors, see Catalyst.pm
90
91=head1 COPYRIGHT
92
93This library is free software. You can redistribute it and/or modify it under
94the same terms as Perl itself.
95
96=cut