Put some of the mod_perl code back. This is pretty much untested and won't work,...
[catagits/Catalyst-Runtime.git] / lib / Catalyst.pm
index 4714ed6..d864126 100644 (file)
@@ -29,6 +29,7 @@ use Tree::Simple::Visitor::FindByUID;
 use Class::C3::Adopt::NEXT;
 use List::MoreUtils qw/uniq/;
 use attributes;
+use String::RewritePrefix;
 use utf8;
 use Carp qw/croak carp shortmess/;
 use Try::Tiny;
@@ -2552,8 +2553,9 @@ sub setup_engine {
     unless ($engine) {
         $engine = $class->engine_class;
     }
-    $engine = 'Catalyst::Engine::' . $engine
-        unless $engine =~ /^Catalyst::Engine/;
+    else {
+        $engine = String::RewritePrefix->rewrite( { '' => 'Catalyst::Engine::', '+' => '' }, $engine );
+    }
 
     $engine = 'Catalyst::Engine' if $engine eq 'Catalyst::Engine::HTTP';
 
@@ -2591,6 +2593,11 @@ sub setup_engine {
         );
     }
 
+    if ($ENV{MOD_PERL}) {
+        # FIXME - Immutable
+        $class->meta->add_method(handler => sub { shift->handle_request(@_) });
+    }
+
     $class->engine( $engine->new );
     $class->psgi_app( $class->engine->build_psgi_app($class) );
 }