X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FCatalyst%2FRequest%2FREST.pm;h=41d2a213f46b6a14eb126ba86c095647e1799ff3;hb=2998eff66783bd3cf7ac44375e3a5ecae8e9e454;hp=8f3a5a8dea787f2e05a12e48874775c2727234da;hpb=cbb06078d9297cdf10c30d833800e0e22c442820;p=catagits%2FCatalyst-Action-REST.git diff --git a/lib/Catalyst/Request/REST.pm b/lib/Catalyst/Request/REST.pm index 8f3a5a8..41d2a21 100644 --- a/lib/Catalyst/Request/REST.pm +++ b/lib/Catalyst/Request/REST.pm @@ -9,6 +9,7 @@ package Catalyst::Request::REST; use strict; use warnings; +use Scalar::Util qw/blessed/; use base qw/Catalyst::Request Class::Accessor::Fast/; @@ -19,7 +20,8 @@ sub _insert_self_into { my ($class, $app_class ) = @_; # the fallback to $app_class is for the (rare and deprecated) case when # people are defining actions in MyApp.pm instead of in a controller. - my $app = Catalyst::Utils::class2appclass( $app_class ) || $app_class; + my $app = (blessed($app_class) && $app_class->can('_application')) + ? $app_class->_application : Catalyst::Utils::class2appclass( $app_class ) || $app_class; my $req_class = $app->request_class; return if $req_class->isa($class); @@ -64,7 +66,7 @@ returned the deserialized data structure. __PACKAGE__->mk_accessors(qw(data accept_only)); -=over 4 +=over 4 =item accepted_content_types