From bee0ff8a0fc620f0359d60b23b1e15991163ea04 Mon Sep 17 00:00:00 2001 From: Jesse Luehrs Date: Sun, 7 Oct 2012 00:47:39 -0500 Subject: fix up content-length after rendering --- lib/Plack/Middleware/Xslate.pm | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/lib/Plack/Middleware/Xslate.pm b/lib/Plack/Middleware/Xslate.pm index c520931..6d051c7 100644 --- a/lib/Plack/Middleware/Xslate.pm +++ b/lib/Plack/Middleware/Xslate.pm @@ -109,9 +109,20 @@ sub serve_path { my $rendered = $self->{xslate}->render($filename, $self->xslate_vars); - $res->[2] = [ $rendered ]; + my @headers; + while (@{ $res->[1] }) { + my ($k, $v) = splice @{ $res->[1] }, 0, 2; + if ($k =~ /^content-length$/i) { + $v = length($rendered); + } + push @headers, $k, $v; + } - return $res; + return [ + $res->[0], + \@headers, + [ $rendered ] + ]; } =head1 BUGS -- cgit v1.2.3