X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Runtime.git;a=blobdiff_plain;f=lib%2FCatalyst%2FUtils.pm;h=e6a88019aed720c4e2c1ef661e6511cfcb727a5b;hp=afa9d32299b085db944798f4f51b7a47d8df04db;hb=974733c0febbddd53145ec82031b4ad6abcc0985;hpb=3086ccde3309473379093d25a415cb0d03a08401 diff --git a/lib/Catalyst/Utils.pm b/lib/Catalyst/Utils.pm index afa9d32..e6a8801 100644 --- a/lib/Catalyst/Utils.pm +++ b/lib/Catalyst/Utils.pm @@ -453,10 +453,11 @@ sub build_middleware { $namespace->new(@init_args) : die "Can't load class $namespace"; } else { ## the string is a partial namespace - if(Class::Load::try_load_class("Plack::Middleware::$namespace")) { ## Act like Plack::Builder - return "Plack::Middleware::$namespace"->new(@init_args); - } elsif(Class::Load::try_load_class("$class::$namespace")) { ## Load Middleware from Project namespace - return "$class::$namespace"->new(@init_args); + if(Class::Load::try_load_class($class .'::Middleware::'. $namespace)) { ## Load Middleware from Project namespace + my $ns = $class .'::Middleware::'. $namespace; + 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); } }