Christian Hansen > HTTP-Body-0.6 > HTTP::Body

Download:
HTTP-Body-0.6.tar.gz

Dependencies

Annotate this POD

Related Modules

File::Temp
Data::Dumper
Data::URIEncode
Compress::Zlib
Digest::MD5
Test::Pod
more...
By perlmonks.org

CPAN RT

New  5
Open  2
View/Report Bugs
Module Version: 0.6   Source   Latest Release: HTTP-Body-1.19

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.

syntax highlighting: