use Class::MOP::Object ();
extends 'Catalyst::Component';
use bytes;
-use B::Hooks::EndOfScope;
+use Scope::Upper ();
use Catalyst::Exception;
use Catalyst::Log;
use Catalyst::Request;
my $engine = $class->engine;
my $home = $class->config->{home};
- $class->log->debug(qq/Loaded dispatcher "$dispatcher"/);
- $class->log->debug(qq/Loaded engine "$engine"/);
+ $class->log->debug(sprintf(q/Loaded dispatcher "%s"/, blessed($dispatcher)));
+ $class->log->debug(sprintf(q/Loaded engine "%s"/, blessed($engine)));
$home
? ( -d $home )
: $class->log->debug(q/Couldn't find home/);
}
- # Call plugins setup
+ # Call plugins setup, this is stupid and evil.
{
no warnings qw/redefine/;
local *setup = sub { };
# Note however that we have to do the work on scope end, so that method
# modifiers work correctly in MyApp (as you have to call setup _before_
# applying modifiers).
- on_scope_end {
+ Scope::Upper::reap(sub {
my $meta = $class->Moose::Object::meta();
$meta->make_immutable unless $meta->is_immutable;
- };
+ }, 1);
$class->setup_finished(1);
}
sub prepare_body {
my $c = shift;
- #Moose TODO: what is _body ??
- # Do we run for the first time?
- return if defined $c->request->{_body};
+ return if $c->request->_has_body;
# Initialize on-demand data
$c->engine->prepare_body( $c, @_ );