summaryrefslogtreecommitdiffstats
path: root/lib/Web/Response.pm
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Web/Response.pm')
-rw-r--r--lib/Web/Response.pm13
1 files changed, 11 insertions, 2 deletions
diff --git a/lib/Web/Response.pm b/lib/Web/Response.pm
index 6516021..65fc372 100644
--- a/lib/Web/Response.pm
+++ b/lib/Web/Response.pm
@@ -157,10 +157,19 @@ sub finalize {
sub _finalize_streaming {
my $self = shift;
+ my $streaming = $self->streaming_response;
+
# XXX cookies?
- # XXX encoding?
- return $self->streaming_response;
+ return $streaming unless $self->has_encoding;
+
+ return Plack::Util::response_cb($streaming, sub {
+ return sub {
+ my $chunk = shift;
+ return unless defined $chunk;
+ return $self->_encode($chunk);
+ };
+ });
}
sub _encode {