File: hypnotoad

package info (click to toggle)
libmojolicious-perl 2.98%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 2,968 kB
  • sloc: perl: 10,178; sh: 48; makefile: 8
file content (63 lines) | stat: -rwxr-xr-x 1,589 bytes parent folder | download
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
#!/usr/bin/env perl

use strict;
use warnings;

use File::Basename 'dirname';
use File::Spec::Functions qw(catdir splitdir);
use Getopt::Long qw(GetOptions :config no_auto_abbrev no_ignore_case);

# Source directory has precedence
my @base = (splitdir(dirname(__FILE__)), '..');
my $lib = join('/', @base, 'lib');
-e catdir(@base, 't') ? unshift(@INC, $lib) : push(@INC, $lib);

# "Hey sexy mama, wanna kill all humans?"
my $help;
GetOptions(
  'f|foreground' => sub { $ENV{HYPNOTOAD_FOREGROUND} = 1 },
  'h|help'       => sub { $help                      = 1 },
  's|stop'       => sub { $ENV{HYPNOTOAD_STOP}       = 1 },
  't|test'       => sub { $ENV{HYPNOTOAD_TEST}       = 1 }
);
$help = 1 unless my $app = shift || $ENV{HYPNOTOAD_APP};

# Usage
die <<"EOF" if $help;
usage: $0 [OPTIONS] [APPLICATION]

  hypnotoad script/myapp
  hypnotoad myapp.pl
  hypnotoad -f myapp.pl

These options are available:
  -f, --foreground      Keep manager process in foreground.
  -h, --help            Show this message.
  -s, --stop            Stop server gracefully.
  -t, --test            Test application and exit.
EOF

# "This is it.
#  The moment we should've trained for."
require Mojo::Server::Hypnotoad;
Mojo::Server::Hypnotoad->new->run($app);

=head1 NAME

hypnotoad - Hypnotoad HTTP 1.1 and WebSocket server

=head1 SYNOPSIS

  $ hypnotoad --help
  $ hypnotoad myapp.pl

=head1 DESCRIPTION

Start L<Mojolicious> and L<Mojolicious::Lite> applications with the
L<Mojo::Server::Hypnotoad> web server.

=head1 SEE ALSO

L<Mojolicious>, L<Mojolicious::Guides>, L<http://mojolicio.us>.

=cut