eval {
if ( $c->debug )
{
- my ( $elapsed, @state ) =
- $c->benchmark( $code, $class, $c, @{ $c->req->args } );
+ my ( $elapsed, @state ) = $c->benchmark( $code, $class, $c, @{ $c->req->args } );
push @{ $c->{stats} }, [ $action, sprintf( '%fs', $elapsed ) ];
$c->state(@state);
}
- else { $c->state( &$code( $class, $c, @{ $c->req->args } ) ) }
+ else { $c->state( &$code( $class, $c, @{ $c->req->args } ) ? 1 : 0 ) }
};
if ( my $error = $@ ) {
return $status;
}
+=item $c->finalize_output
+
+<obsolete>, see finalize_body
+
=item $c->finalize_body
Finalize body.
sub finalize_headers { }
-=item $c->handler( $class, $engine )
+=item $c->handler( $class, @arguments )
Handles the request.
=cut
sub handler {
- my ( $class, $engine ) = @_;
+ my ( $class, @arguments ) = @_;
# Always expect worst case!
my $status = -1;
my @stats = ();
my $handler = sub {
- my $c = $class->prepare($engine);
+ my $c = $class->prepare(@arguments);
$c->{stats} = \@stats;
$c->dispatch;
return $c->finalize;
return $status;
}
-=item $c->prepare($engine)
+=item $c->prepare(@arguments)
Turns the engine-specific request( Apache, CGI ... )
into a Catalyst context .
=cut
sub prepare {
- my ( $class, $engine ) = @_;
+ my ( $class, @arguments ) = @_;
my $c = bless {
counter => {},
$c->res->headers->header( 'X-Catalyst' => $Catalyst::VERSION );
}
- $c->prepare_request($engine);
+ $c->prepare_request(@arguments);
$c->prepare_connection;
$c->prepare_headers;
$c->prepare_cookies;
my $method = $c->req->method || '';
my $path = $c->req->path || '';
- my $hostname = $c->req->hostname || '';
my $address = $c->req->address || '';
- $c->log->debug(qq/"$method" request for "$path" from $hostname($address)/)
+ $c->log->debug(qq/"$method" request for "$path" from $address/)
if $c->debug;
if ( $c->request->method eq 'POST' and $c->request->content_length ) {
sub prepare_uploads { }
-=item $c->retrieve_components
-
-Retrieve Components.
-
-=cut
-
-sub retrieve_components {
- my $self = shift;
-
- my $class = ref $self || $self;
- eval <<"";
- package $class;
- import Module::Pluggable::Fast
- name => '_components',
- search => [
- '$class\::Controller', '$class\::C',
- '$class\::Model', '$class\::M',
- '$class\::View', '$class\::V'
- ],
- require => 1;
-
- if ( my $error = $@ ) {
- chomp $error;
- die qq/Couldn't load components "$error"/;
- }
-
- return $self->_components;
-}
-
=item $c->run
Starts the engine.
sub setup_components {
my $self = shift;
-
+
# Components
my $class = ref $self || $self;
eval <<"";