diff options
author | Jesse Luehrs <doy@tozt.net> | 2012-09-28 23:45:28 -0500 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2012-09-28 23:45:28 -0500 |
commit | 6d67faeafe38ddb6277e0f7115aec453acf68cec (patch) | |
tree | 5658420fe6bec45b3dfdd501cc9cb5b11bc39252 /lib | |
parent | 378d39ae1a2cf3f6568e410a7844c2fa6dd12526 (diff) | |
download | web-request-6d67faeafe38ddb6277e0f7115aec453acf68cec.tar.gz web-request-6d67faeafe38ddb6277e0f7115aec453acf68cec.zip |
handle encoding
Diffstat (limited to 'lib')
-rw-r--r-- | lib/Web/Response.pm | 13 |
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 { |