NAME
HTTP::Body - HTTP Body Parser
SYNOPSIS
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
}
DESCRIPTION
HTTP Body Parser.
METHODS
new Constructor. Takes content type and content length as parameters,
returns a HTTP::Body object.
add Add string to internal buffer. Will call spin unless done. returns
length before adding self.
body
accessor for the body.
buffer
read only accessor for the buffer.
content_length
read only accessor for content length
content_type
ready only accessor for the content type
init
return self.
length
read only accessor for body length.
spin
Abstract method to spin the io handle.
state
accessor for body state.
param
accesor for http parameters.
upload
BUGS
Chunked requests are currently not supported.
AUTHOR
Christian Hansen, "ch@ngmedia.com"
Sebastian Riedel, "sri@cpan.org"
LICENSE
This library is free software. You can redistribute it and/or modify it
under the same terms as perl itself.