X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Runtime.git;a=blobdiff_plain;f=lib%2FCatalyst%2FRequest.pm;h=f75319b699f23a5e2f9cd327ec80136f217ca88a;hp=17f0be915c83bac1ec89d0cfce5e2cbd68b14116;hb=ade3da0a3602627512932eef9af511247f11634f;hpb=409d48fb495802db8eb6e02a927dd2915d8643b4 diff --git a/lib/Catalyst/Request.pm b/lib/Catalyst/Request.pm index 17f0be9..f75319b 100644 --- a/lib/Catalyst/Request.pm +++ b/lib/Catalyst/Request.pm @@ -97,12 +97,22 @@ has io_fh => ( lazy=>1, builder=>'_build_io_fh'); - sub _build_io_fh { +sub _build_io_fh { my $self = shift; return $self->env->{'psgix.io'} || die "Your Server does not support psgix.io"; - }; +}; +has body_fh => ( + is=>'ro', + predicate=>'has_body_fh', + lazy=>1, + builder=>'_build_body_fh'); + +sub _build_body_fh { + (my $input_fh = shift->env->{'psgi.input'})->seek(0, 0); + return $input_fh; +}; # Amount of data to read from input on each pass our $CHUNKSIZE = 64 * 1024;