-#
-# 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 = '0.90';
+$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>";
my $finder = URI::Find->new(
sub {
my($uri, $orig_uri) = @_;
- return qq|<a href="$uri">$orig_uri</a>|;
+ my $newuri;
+ if ($uri =~ /\?/) {
+ $newuri = $uri . "&content-type=text/html";
+ } else {
+ $newuri = $uri . "?content-type=text/html";
+ }
+ return qq|<a href="$newuri">$orig_uri</a>|;
});
$finder->find(\$text);
$output .= $text;
return 1;
}
+__PACKAGE__->meta->make_immutable;
+
1;