use URI::QueryParam;
use Moose::Util::TypeConstraints;
use Plack::Loader;
-use Plack::Middleware::Conditional;
-use Plack::Middleware::ReverseProxy;
-use Catalyst::Engine::Loader;
+use Catalyst::EngineLoader;
use Encode ();
use utf8;
# FIXME - we should stash the options in an attribute so that custom args
# like Gitalist's --git_dir are possible to get from the app without stupid tricks.
- my $server = pop @args if blessed $args[-1];
- my $options = pop @args if ref($args[-1]) eq 'HASH';
+ my $server = pop @args if (scalar @args && blessed $args[-1]);
+ my $options = pop @args if (scalar @args && ref($args[-1]) eq 'HASH');
if (! $server ) {
- $server = Catalyst::Engine::Loader->auto(); # We're not being called from a script,
- # so auto detect what backend to run on.
- # This should never happen, as mod_perl
- # never calls ->run, instead the $app->handle
- # method is called per request.
+ $server = Catalyst::EngineLoader->new(application_name => ref($self))->auto();
+ # We're not being called from a script, so auto detect what backend to
+ # run on. This should never happen, as mod_perl never calls ->run,
+ # instead the $app->handle method is called per request.
$app->log->warn("Not supplied a Plack engine, falling back to engine auto-loader (are your scripts ancient?)")
}
$server->run($psgi, $options);