From: Bill Moseley Date: Sat, 6 Jun 2015 17:05:54 +0000 (-0700) Subject: Die in engine if prepare_body writing to psgi.input fails. X-Git-Tag: 5.90102~9^2~1^2 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Runtime.git;a=commitdiff_plain;h=eb1f418b9ee46e9d6a10a0858a7da72ca0343760 Die in engine if prepare_body writing to psgi.input fails. --- diff --git a/lib/Catalyst/Request.pm b/lib/Catalyst/Request.pm index 53f9337..523c3f2 100644 --- a/lib/Catalyst/Request.pm +++ b/lib/Catalyst/Request.pm @@ -293,7 +293,10 @@ sub prepare_body { # Check for definedness as you could read '0' while ( defined ( my $chunk = $self->read() ) ) { $self->prepare_body_chunk($chunk); - $stream_buffer->print($chunk) if $stream_buffer; + next unless $stream_buffer; + + $stream_buffer->print($chunk) + || die sprintf "Failed to write %d bytes to psgi.input file: $!", length( $chunk ); } # Ok, we read the body. Lets play nice for any PSGI app down the pipe