Created by
Brian Medley
| diff --git a/lib/Mojo/Server.pm b/lib/Mojo/Server.pm
index 58c9513..08c7866 100644
--- a/lib/Mojo/Server.pm
+++ b/lib/Mojo/Server.pm
@@ -50,9 +50,11 @@ sub load_app {
local $ENV{MOJO_EXE};
# Try to load application from script into sandbox
+ my $pkg = "Mojo::Server::Sandbox::@{[md5_sum $path]}";
my $app = eval "package Mojo::Server::Sandbox::@{[md5_sum $path]};"
. 'return do($path) || die($@ || $!);';
- die qq{Can't load application from file "$path": $@} if !$app && $@;
+ my $moniker = eval 'no strict qw(refs); ${ \&{ "${pkg}::app" }->moniker };';
+ die qq{Can't load application from file "$path": $@} if !$moniker && !$app && $@;
die qq{File "$path" did not return an application object.\n}
unless blessed $app && $app->isa('Mojo');
$self->app($app);
|