/
Cgi.pm
81 lines (51 loc) · 1.37 KB
/
Cgi.pm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
# Copyright (C) 2008-2009, Sebastian Riedel.
package Mojo::Script::Cgi;
use strict;
use warnings;
use base 'Mojo::Script';
use Mojo::Server::CGI;
use Getopt::Long 'GetOptions';
__PACKAGE__->attr('description', default => <<'EOF');
Start application with CGI backend.
EOF
__PACKAGE__->attr('usage', default => <<"EOF");
usage: $0 cgi [OPTIONS]
These options are available:
--nph Enable non-parsed-header mode.
EOF
# Hi, Super Nintendo Chalmers!
sub run {
my $self = shift;
my $cgi = Mojo::Server::CGI->new;
# Options
@ARGV = @_ if @_;
GetOptions('nph' => sub { $cgi->nph(1) });
# Run
$cgi->run;
return shift;
}
1;
__END__
=head1 NAME
Mojo::Script::Cgi - CGI Script
=head1 SYNOPSIS
use Mojo::Script::CGI;
my $cgi = Mojo::Script::CGI->new;
$cgi->run(@ARGV);
=head1 DESCRIPTION
L<Mojo::Script::Cgi> is a script interface to L<Mojo::Server::CGI>.
=head1 ATTRIBUTES
L<Mojo::Script::Cgi> inherits all attributes from L<Mojo::Script> and
implements the following new ones.
=head2 C<description>
my $description = $cgi->description;
$cgi = $cgi->description('Foo!');
=head2 C<usage>
my $usage = $cgi->usage;
$cgi = $cgi->usage('Foo!');
=head1 METHODS
L<Mojo::Script::Cgi> inherits all methods from L<Mojo::Script> and implements
the following new ones.
=head2 C<run>
$cgi = $cgi->run(@ARGV);
=cut