
HTTP::Body - HTTP Body Parser

use HTTP::Body;
sub handler : method {
my ( $class, $r ) = @_;
my $content_type = $r->headers_in->get('Content-Type');
my $content_length = $r->headers_in->get('Content-Length');
my $body = HTTP::Body->new( $content_type, $content_length );
my $length = $content_length;
while ( $length ) {
$r->read( my $buffer, ( $length < 8192 ) ? $length : 8192 );
$length -= length($buffer);
$body->add($buffer);
}
my $uploads = $body->upload; # hashref
my $params = $body->param; # hashref
my $body = $body->body; # IO::Handle
}

HTTP Body Parser.

Constructor. Takes content type and content length as parameters, returns a HTTP::Body object.
Add string to internal buffer. Will call spin unless done. returns length before adding self.
accessor for the body.
read only accessor for the buffer.
read only accessor for content length
ready only accessor for the content type
return self.
read only accessor for body length.
Abstract method to spin the io handle.
accessor for body state.
accesor for http parameters.

Chunked requests are currently not supported.

Christian Hansen, ch@ngmedia.com
Sebastian Riedel, sri@cpan.org

This library is free software. You can redistribute it and/or modify it under the same terms as perl itself.