/usr/share/perl5/Catalyst/Action/Serialize/View.pm is in libcatalyst-action-rest-perl 1.17-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | package Catalyst::Action::Serialize::View;
$Catalyst::Action::Serialize::View::VERSION = '1.17';
use Moose;
use namespace::autoclean;
extends 'Catalyst::Action';
sub execute {
my $self = shift;
my ( $controller, $c, $view ) = @_;
# Views don't care / are not going to render an entity for 3XX
# responses.
return 1 if $c->response->status =~ /^(?:204|3\d\d)$/;
my $stash_key = (
$controller->{'serialize'} ?
$controller->{'serialize'}->{'stash_key'} :
$controller->{'stash_key'}
) || 'rest';
if ( !$c->view($view) ) {
$c->log->error("Could not load $view, refusing to serialize");
return;
}
if ($c->view($view)->process($c, $stash_key)) {
return 1;
} else {
# This is stupid. Please improve it.
my $error = join("\n", @{ $c->error }) || "Error in $view";
$error .= "\n";
$c->clear_errors;
die $error;
}
}
__PACKAGE__->meta->make_immutable;
1;
|