[Jifty-commit] jifty branch, master, updated. 0007d4b45b203b661bb9a2310561beb93857d2c3

Jifty commits jifty-commit at lists.jifty.org
Sun May 2 13:15:28 EDT 2010


The branch, master has been updated
       via  0007d4b45b203b661bb9a2310561beb93857d2c3 (commit)
       via  1d28d8d93e33d2941f7930cad03de4b3c2fd8e8d (commit)
      from  dd59d97f0e4eaf1daf7d95f88dda901ced83c9ab (commit)

Summary of changes:
 lib/Jifty/Plugin/REST/Dispatcher.pm |   18 ++++++++++++++----
 1 files changed, 14 insertions(+), 4 deletions(-)

- Log -----------------------------------------------------------------
commit 1d28d8d93e33d2941f7930cad03de4b3c2fd8e8d
Author: Chia-liang Kao <clkao at clkao.org>
Date:   Mon May 3 00:56:24 2010 +0800

    restore xml freezer as it's still used by outs()

diff --git a/lib/Jifty/Plugin/REST/Dispatcher.pm b/lib/Jifty/Plugin/REST/Dispatcher.pm
index 6b32289..e55a023 100644
--- a/lib/Jifty/Plugin/REST/Dispatcher.pm
+++ b/lib/Jifty/Plugin/REST/Dispatcher.pm
@@ -257,6 +257,7 @@ sub output_format2 {
             format       => 'XML',
             extension    => 'xml',
             content_type => 'text/xml; charset=UTF-8',
+            freezer      => \&render_as_xml,
             freezer_stream => \&render_as_xml_stream,
         };
     }
@@ -308,6 +309,11 @@ Attempts to render DATASTRUCTURE as simple, tag-based XML.
 
 =cut
 
+sub render_as_xml {
+    my $content = shift;
+    return render_as_xml_stream(undef, $content);
+}
+
 sub render_as_xml_stream {
     my ($writer, $content) = @_;
 

commit 0007d4b45b203b661bb9a2310561beb93857d2c3
Author: Chia-liang Kao <clkao at clkao.org>
Date:   Mon May 3 00:59:26 2010 +0800

    encode for streamy output.

diff --git a/lib/Jifty/Plugin/REST/Dispatcher.pm b/lib/Jifty/Plugin/REST/Dispatcher.pm
index e55a023..42294ce 100644
--- a/lib/Jifty/Plugin/REST/Dispatcher.pm
+++ b/lib/Jifty/Plugin/REST/Dispatcher.pm
@@ -1005,16 +1005,20 @@ sub run_action_stream {
         my $res = $action->result->as_hash;
 
         if ( $format->{freezer_stream} ) {
-            my $w = Plack::Util::inline_object(%$writer,
-                                           print => sub { $writer->write(@_)});
+            my $w = Plack::Util::inline_object
+                (%$writer,
+                 print => sub {
+                     $writer->write(map { Encode::is_utf8($_)
+                             ? Encode::encode('utf8', $_) : $_ } @_ );
+                 });
             $format->{freezer_stream}->($w, $res);
             $writer->close;
             return;
         }
 
         for ($format->{freezer}->($res)) {
-            Encode::_utf8_off($_);
-            $writer->write($_);
+            $writer->write(Encode::is_utf8($_)
+                    ? Encode::encode('utf8', $_) : $_);
         }
         $writer->close;
     };

-----------------------------------------------------------------------


More information about the Jifty-commit mailing list