Bumped HTTP::Body to 0.4 so CPAN installs the right version
[catagits/HTTP-Body.git] / lib / HTTP / Body.pm
index f0a75e1..83b4c87 100644 (file)
@@ -3,9 +3,8 @@ package HTTP::Body;
 use strict;
 
 use Carp       qw[ ];
-use List::Util qw[ first ];
 
-our $VERSION = '0.01';
+our $VERSION = '0.4';
 
 our $TYPES = {
     'application/octet-stream'          => 'HTTP::Body::OctetStream',
@@ -50,7 +49,12 @@ HTTP Body Parser.
 
 =head1 METHODS
 
-=over 4
+=over 4 
+
+=item new 
+
+Constructor. Takes content type and content length as parameters,
+returns a L<HTTP::Body> object.
 
 =cut
 
@@ -61,7 +65,13 @@ sub new {
         Carp::croak( $class, '->new( $content_type, $content_length )' );
     }
 
-    my $type = first { index( lc($content_type), $_ ) >= 0 } keys %{$TYPES};
+    my $type;
+    foreach my $supported ( keys %{$TYPES} ) {
+        if ( index( lc($content_type), $supported ) >= 0 ) {
+            $type = $supported;
+        }
+    }
+
     my $body = $TYPES->{ $type || 'application/octet-stream' };
 
     eval "require $body";
@@ -88,6 +98,9 @@ sub new {
 
 =item add
 
+Add string to internal buffer. Will call spin unless done. returns
+length before adding self.
+
 =cut
 
 sub add {
@@ -107,6 +120,8 @@ sub add {
 
 =item body
 
+accessor for the body.
+
 =cut
 
 sub body {
@@ -117,6 +132,8 @@ sub body {
 
 =item buffer
 
+read only accessor for the buffer.
+
 =cut
 
 sub buffer {
@@ -125,6 +142,8 @@ sub buffer {
 
 =item content_length
 
+read only accessor for content length
+
 =cut
 
 sub content_length {
@@ -133,6 +152,8 @@ sub content_length {
 
 =item content_type
 
+ready only accessor for the content type
+
 =cut
 
 sub content_type {
@@ -141,6 +162,8 @@ sub content_type {
 
 =item init
 
+return self.
+
 =cut
 
 sub init {
@@ -149,6 +172,8 @@ sub init {
 
 =item length
 
+read only accessor for body length.
+
 =cut
 
 sub length {
@@ -157,6 +182,8 @@ sub length {
 
 =item spin
 
+Abstract method to spin the io handle.
+
 =cut
 
 sub spin {
@@ -165,6 +192,8 @@ sub spin {
 
 =item state
 
+accessor for body state.
+
 =cut
 
 sub state {
@@ -175,6 +204,8 @@ sub state {
 
 =item param
 
+accesor for http parameters.
+
 =cut
 
 sub param {
@@ -225,6 +256,10 @@ sub upload {
 
 =back
 
+=head1 BUGS
+
+Chunked requests are currently not supported.
+
 =head1 AUTHOR
 
 Christian Hansen, C<ch@ngmedia.com>