diff options
-rw-r--r-- | lib/Plack/Middleware/Xslate.pm | 15 |
1 files 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 |