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.