man HTTP::Body () - HTTP Body Parser

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, CWch@ngmedia.com

Sebastian Riedel, CWsri@cpan.org

LICENSE

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