summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/Plack/Middleware/Xslate.pm15
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