added $c->prepare_input and $c->req->input
[catagits/Catalyst-Runtime.git] / lib / Catalyst / Engine.pm
index a7f2e7b..486bbf7 100644 (file)
@@ -2,6 +2,7 @@ package Catalyst::Engine;
 
 use strict;
 use base qw/Class::Data::Inheritable Class::Accessor::Fast/;
+use attributes ();
 use UNIVERSAL::require;
 use CGI::Cookie;
 use Data::Dumper;
@@ -419,6 +420,7 @@ sub prepare {
     $c->prepare_request($r);
     $c->prepare_path;
     $c->prepare_headers;
+    $c->prepare_input;
     $c->prepare_cookies;
     $c->prepare_connection;
 
@@ -534,6 +536,14 @@ Prepare parameters.
 
 =cut
 
+sub prepare_input { }
+
+=item $c->prepare_input
+
+Prepare message body.
+
+=cut
+
 sub prepare_parameters { }
 
 =item $c->prepare_path
@@ -624,8 +634,7 @@ sub setup_components {
 
     if ( my $error = $@ ) {
         chomp $error;
-        $self->log->error(
-            qq/Couldn't initialize "Module::Pluggable::Fast", "$error"/);
+        die qq/Couldn't load components "$error"/;
     }
 
     $self->components( {} );
@@ -669,6 +678,9 @@ sub stash {
     return $self->{stash};
 }
 
+# Takes a coderef and returns an arrayref containing attributes
+sub _get_attrs { attributes::get( $_[0] ) || [] }
+
 =back
 
 =head1 AUTHOR