summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2012-09-28 23:45:28 -0500
committerJesse Luehrs <doy@tozt.net>2012-09-28 23:45:28 -0500
commit6d67faeafe38ddb6277e0f7115aec453acf68cec (patch)
tree5658420fe6bec45b3dfdd501cc9cb5b11bc39252 /lib
parent378d39ae1a2cf3f6568e410a7844c2fa6dd12526 (diff)
downloadweb-request-6d67faeafe38ddb6277e0f7115aec453acf68cec.tar.gz
web-request-6d67faeafe38ddb6277e0f7115aec453acf68cec.zip
handle encoding
Diffstat (limited to 'lib')
-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 {