Merge remote branch 'origin/master'
Tomas Doran [Thu, 6 May 2010 08:29:40 +0000 (09:29 +0100)]
* origin/master:
  Revert "When inserting Cat::Req::REST, always add trait, rather than sometimes using the Cat::Req::REST class directly."

1  2 
lib/Catalyst/Request/REST.pm

@@@ -7,7 -7,7 +7,7 @@@ use namespace::autoclean
  extends 'Catalyst::Request';
  with 'Catalyst::TraitFor::Request::REST';
  
 -our $VERSION = '0.83';
 +our $VERSION = '0.84';
  $VERSION = eval $VERSION;
  
  # Please don't take this as a recommended way to do things.
@@@ -24,13 -24,18 +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;