/usr/bin/hypnotoad is in libmojolicious-perl 2.98+dfsg-2.
This file is owned by root:root, with mode 0o755.
The actual contents of the file can be viewed below.
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
|