Catalyst::Plugin::DefaultEnd - DEPRECATED Sensible default end action.


Catalyst-Plugin-DefaultEnd documentation Contained in the Catalyst-Plugin-DefaultEnd distribution.

Index


Code Index:

NAME

Top

Catalyst::Plugin::DefaultEnd - DEPRECATED Sensible default end action.

SYNOPSIS

Top

    use Catalyst qw/-Debug DefaultEnd/;

WARNING

Top

This module is deprecated, and should not be used in new applications.

Please use Catalyst::Action::RenderView instead. It is preserved here for backwards compatibility reasons.

DESCRIPTION

Top

This action implements a sensible default end action, which will forward to the first available view, unless status is set to 3xx, or there is a response body. It also allows you to pass dump_info=1 to the url in order to force a debug screen, while in debug mode.

If you have more than 1 view, you can specify which one to use with the 'view' config setting.

METHODS

Top

end

The default end action, you can override this as required in your application class, normal inheritance applies.

AUTHOR

Top

Marcus Ramberg <marcus@thefeed.no>

COPYRIGHT

Top

LICENSE

Top

This library is free software . You can redistribute it and/or modify it under the same terms as perl itself.


Catalyst-Plugin-DefaultEnd documentation Contained in the Catalyst-Plugin-DefaultEnd distribution.
package Catalyst::Plugin::DefaultEnd;

use base qw/Catalyst::Controller/;

use strict;
our $VERSION = '0.08';

sub end : Private {
    my ( $self, $c ) = @_;
    die "forced debug" if $c->debug && $c->req->params->{dump_info};
    return 1 if $c->req->method eq 'HEAD';
    return 1 if scalar @{ $c->error } && !$c->stash->{template};
    return 1 if $c->response->status =~ /^(?:401|204|3\d\d)$/;
    unless ( $c->response->content_type ) {
        $c->response->content_type('text/html; charset=utf-8');
    }
    return 1                                 if $c->response->body;
    return $c->forward( $c->config->{view} ) if $c->config->{view};
    my ($comp) = $c->comp( '^' . ref($c) . '::(V|View)::' );
    $c->forward( ref $comp );
}

1;