use Path::Class;
use Time::HiRes qw/gettimeofday tv_interval/;
use URI;
-use Scalar::Util qw/weaken/;
+use Scalar::Util qw/weaken blessed/;
use Tree::Simple qw/use_weak_refs/;
use Tree::Simple::Visitor::FindByUID;
use attributes;
if ( $c->response->body && !$c->response->content_length ) {
# get the length from a filehandle
- if ( ref $c->response->body && $c->response->body->can('read') ) {
+ if ( blessed($c->response->body) && $c->response->body->can('read') ) {
if ( my $stat = stat $c->response->body ) {
$c->response->content_length( $stat->size );
}
=cut
{
- my %PLUGINS;
sub registered_plugins {
my $proto = shift;
- return sort keys %PLUGINS unless @_;
+ return sort keys %{$proto->_plugins} unless @_;
my $plugin = shift;
- return 1 if exists $PLUGINS{$plugin};
- return exists $PLUGINS{"Catalyst::Plugin::$plugin"};
+ return 1 if exists $proto->_plugins->{$plugin};
+ return exists $proto->_plugins->{"Catalyst::Plugin::$plugin"};
}
sub _register_plugin {
message => qq/Couldn't load ${type}plugin "$plugin", $error/ );
}
- $PLUGINS{$plugin} = 1;
+ $proto->_plugins->{$plugin} = 1;
unless ($instant) {
no strict 'refs';
unshift @{"$class\::ISA"}, $plugin;
sub setup_plugins {
my ( $class, $plugins ) = @_;
+ $class->_plugins( {} ) unless $class->_plugins;
$plugins ||= [];
for my $plugin ( reverse @$plugins ) {
Brian Cassidy
+Carl Franks
+
Christian Hansen
Christopher Hicks