X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FCatalyst%2FRequest%2FREST.pm;h=05162810a2fb0829c1eb46d9e4f95ced78b8e837;hb=373ad796a2c8dda0244fa852c8e397ae5f8766ab;hp=4684b64ab7974288d58e12dbd10f7ac3b6b658f0;hpb=96a61a601b093754a99bb61b57e41dbfc3228ad7;p=catagits%2FCatalyst-Action-Serialize-Data-Serializer.git diff --git a/lib/Catalyst/Request/REST.pm b/lib/Catalyst/Request/REST.pm index 4684b64..0516281 100644 --- a/lib/Catalyst/Request/REST.pm +++ b/lib/Catalyst/Request/REST.pm @@ -24,13 +24,18 @@ sub _insert_self_into { return if $req_class->isa($class); my $req_class_meta = Moose->init_meta( for_class => $req_class ); return if $req_class_meta->does_role('Catalyst::TraitFor::Request::REST'); - my $meta = Moose::Meta::Class->create_anon_class( - superclasses => [$req_class], - roles => ['Catalyst::TraitFor::Request::REST'], - cache => 1 - ); - $meta->add_method(meta => sub { $meta }); - $app->request_class($meta->name); + if ($req_class eq 'Catalyst::Request') { + $app->request_class($class); + } + else { + my $meta = Moose::Meta::Class->create_anon_class( + superclasses => [$req_class], + roles => ['Catalyst::TraitFor::Request::REST'], + cache => 1 + ); + $meta->add_method(meta => sub { $meta }); + $app->request_class($meta->name); + } } __PACKAGE__->meta->make_immutable;