return $ns->new(@init_args);
} elsif(Class::Load::try_load_class("Plack::Middleware::$namespace")) { ## Act like Plack::Builder
return "Plack::Middleware::$namespace"->new(@init_args);
+ } else {
+ die "Can't load middleware via '$namespace'. It's not ".$class."::Middleware::".$namespace." or Plack::Middleware::$namespace";
}
}
--- /dev/null
+#!/usr/bin/env perl
+
+{
+ package MyApp;
+
+ use Catalyst;
+ use Test::More;
+
+ eval {
+ __PACKAGE__->setup_middleware('DoesNotExist'); 1;
+ } || do {
+ like($@, qr/MyApp::Middleware::DoesNotExist or Plack::Middleware::DoesNotExist/);
+ };
+
+ done_testing;
+}