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;
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';
);
}
+ if ($ENV{MOD_PERL}) {
+ # FIXME - Immutable
+ $class->meta->add_method(handler => sub {
+ my $r = shift;
+ my $app = $class->psgi_app;
+ use Plack::Handler::Apache2;
+ Plack::Handler::Apache2->call_app($r, $app);
+ });
+ }
+
$class->engine( $engine->new );
$class->psgi_app( $class->engine->build_psgi_app($class) );
+
}
=head2 $c->setup_home