Don't break the calling convention for the run method by making the server the last...
[catagits/Catalyst-Runtime.git] / lib / Catalyst / Engine.pm
index 0152ebf..e6c5d62 100644 (file)
@@ -752,12 +752,14 @@ run method on the server passed in..
 =cut
 
 sub run {
-    my ($self, $app, $server, @args) = @_;
+    my ($self, $app, @args) = @_;
+    my $server = pop @args if blessed $args[-1];
     $server ||= Plack::Loader->auto(); # We're not being called from a script,
                                        # so auto detect what backend to run on.
                                        # This does *NOT* cover mod_perl.
     # FIXME - Do something sensible with the options we're passed
-    $server->run($self->build_psgi_app($app, @args));
+    my $psgi = $self->build_psgi_app($app, @args);
+    $server->run($psgi);
 }
 
 =head2 build_psgi_app ($app, @args)