fix bug with loading project level middleware
John Napiorkowski [Wed, 31 Jul 2013 21:04:49 +0000 (17:04 -0400)]
lib/Catalyst/Utils.pm

index 29a7959..e6a8801 100644 (file)
@@ -453,8 +453,9 @@ 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("$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);
         }