summaryrefslogtreecommitdiffstats
path: root/lib/Plack/Middleware/Xslate.pm
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Plack/Middleware/Xslate.pm')
-rw-r--r--lib/Plack/Middleware/Xslate.pm21
1 files changed, 6 insertions, 15 deletions
diff --git a/lib/Plack/Middleware/Xslate.pm b/lib/Plack/Middleware/Xslate.pm
index 4c1566e..5ef3f97 100644
--- a/lib/Plack/Middleware/Xslate.pm
+++ b/lib/Plack/Middleware/Xslate.pm
@@ -107,22 +107,13 @@ sub serve_path {
$filename = File::Spec->abs2rel($filename, $self->root);
}
- my $rendered = $self->{xslate}->render($filename, $self->xslate_vars);
-
- 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->[0],
- \@headers,
- [ $rendered ]
+ $res->[2] = [
+ $self->{xslate}->render($filename, $self->xslate_vars)
];
+
+ Plack::Util::header_set($res->[1], 'Content-Length', length($res->[2][0]));
+
+ return $res;
}
=head1 BUGS