package TestApp::View::Dump;
use strict;
-use base 'Catalyst::Base';
+use base 'Catalyst::View';
use Data::Dumper ();
-use Scalar::Util qw(weaken);
+use Scalar::Util qw(blessed weaken);
sub dump {
my ( $self, $reference ) = @_;
# Force processing of on-demand data
$c->prepare_body;
- # Remove context from reference if needed
- my $context = delete $reference->{_context};
-
# Remove body from reference if needed
+ $reference->{__body_type} = blessed $reference->body
+ if (blessed $reference->{_body});
my $body = delete $reference->{_body};
+ # Remove context from reference if needed
+ my $context = delete $reference->{_context};
+
if ( my $output =
- $self->dump( $reference || $c->stash->{dump} || $c->stash ) )
+ $self->dump( $reference ) )
{
$c->res->headers->content_type('text/plain');
weaken( $reference->{_context} );
# Repair body
+ delete $reference->{__body_type};
$reference->{_body} = $body;
return 1;