X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Runtime.git;a=blobdiff_plain;f=lib%2FCatalyst%2FEngine%2FApache.pm;h=7d11ea42c5f070503857724500dd224a06bc62a5;hp=a683631284a29ce0284c80ac13e58140e25e7172;hb=06e1b6164a2c9d7b463f358b0d1934ef83a82845;hpb=b160463fabb0b2c1d0914427e2265ee8152efb46 diff --git a/lib/Catalyst/Engine/Apache.pm b/lib/Catalyst/Engine/Apache.pm index a683631..7d11ea4 100644 --- a/lib/Catalyst/Engine/Apache.pm +++ b/lib/Catalyst/Engine/Apache.pm @@ -36,15 +36,36 @@ This class overloads some methods from C. =over 4 -=item $c->finalize_output +=item $c->finalize_body =cut -sub finalize_output { +sub finalize_body { my $c = shift; $c->apache->print( $c->response->output ); } +=item $c->prepare_body + +=cut + +sub prepare_body { + my $c = shift; + + my $length = $c->request->content_length; + my ( $buffer, $content ); + + while ($length) { + + $c->apache->read( $buffer, ( $length < 8192 ) ? $length : 8192 ); + + $length -= length($buffer); + $content .= $buffer; + } + + $c->request->input($content); +} + =item $c->prepare_connection =cut @@ -99,17 +120,6 @@ sub prepare_path { $c->request->base( $base->as_string ); } -=item $c->prepare_request($r) - -=cut - -sub prepare_request { - my ( $c, $r ) = @_; - $c->apache( $ENV{MOD_PERL_API_VERSION} == 2 - ? Apache2::Request->new($r) - : Apache::Request->new($r) ); -} - =item $c->run =cut