-#
-# Catlyst::Action::Serialize::YAML::HTML.pm
-# Created by: Adam Jacob, Marchex, <adam@marchex.com>
-# Created on: 10/12/2006 03:00:32 PM PDT
-#
-# $Id$
-
package Catalyst::Action::Serialize::YAML::HTML;
-use strict;
-use warnings;
+use Moose;
+use namespace::autoclean;
-use base 'Catalyst::Action';
+extends 'Catalyst::Action';
use YAML::Syck;
use URI::Find;
+our $VERSION = '1.03';
+$VERSION = eval $VERSION;
+
sub execute {
my $self = shift;
my ( $controller, $c ) = @_;
- my $stash_key = $controller->config->{'serialize'}->{'stash_key'} || 'rest';
+ my $stash_key = (
+ $controller->{'serialize'} ?
+ $controller->{'serialize'}->{'stash_key'} :
+ $controller->{'stash_key'}
+ ) || 'rest';
my $app = $c->config->{'name'} || '';
my $output = "<html>";
$output .= "<title>" . $app . "</title>";
$output .= "<body><pre>";
- my $text = Dump($c->stash->{$stash_key});
+ my $text = HTML::Entities::encode(Dump($c->stash->{$stash_key}));
# Straight from URI::Find
my $finder = URI::Find->new(
sub {
my($uri, $orig_uri) = @_;
my $newuri;
- if ($uri =~ /?/) {
+ if ($uri =~ /\?/) {
$newuri = $uri . "&content-type=text/html";
} else {
$newuri = $uri . "?content-type=text/html";
return 1;
}
+__PACKAGE__->meta->make_immutable;
+
1;