X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FCatalyst%2FAction%2FSerialize%2FYAML%2FHTML.pm;h=f2377b0cac47e7259b50f22c7d9cb9662b59aeb1;hb=7566d72f425ab3a870f1d6c8945c43f4edeedf2a;hp=93a95d397cab3012308b7981e8f13088aa931baa;hpb=e601addaf89882fccbc824c1a53328f0d049b32b;p=catagits%2FCatalyst-Action-REST.git diff --git a/lib/Catalyst/Action/Serialize/YAML/HTML.pm b/lib/Catalyst/Action/Serialize/YAML/HTML.pm index 93a95d3..f2377b0 100644 --- a/lib/Catalyst/Action/Serialize/YAML/HTML.pm +++ b/lib/Catalyst/Action/Serialize/YAML/HTML.pm @@ -1,34 +1,40 @@ -# -# Catlyst::Action::Serialize::YAML::HTML.pm -# Created by: Adam Jacob, Marchex, -# 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.13'; +$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 = ""; $output .= "" . $app . ""; $output .= "
";
-    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) = @_;
-                                  return qq|$orig_uri|;
+                                  my $newuri;
+                                  if ($uri =~ /\?/) {
+                                      $newuri = $uri . "&content-type=text/html";
+                                  } else {
+                                      $newuri = $uri . "?content-type=text/html";
+                                  }
+                                  return qq|$orig_uri|;
                               });
     $finder->find(\$text);
     $output .= $text;
@@ -39,4 +45,6 @@ sub execute {
     return 1;
 }
 
+__PACKAGE__->meta->make_immutable;
+
 1;