minor refactoring, created HTTP::Body::Octetstream
[catagits/HTTP-Body.git] / lib / HTTP / Body / Octetstream.pm
index 8c50264..8f14f85 100644 (file)
@@ -6,4 +6,20 @@ use bytes;
 
 use File::Temp 0.14;
 
+sub spin {
+    my $self = shift;
+    
+    unless ( $self->body ) {
+        $self->body( File::Temp->new );
+    }
+    
+    if ( my $length = length( $self->{buffer} ) ) {
+        $self->body->write( delete $self->{buffer}, $length );
+    }
+    
+    if ( $self->length == $self->content_length ) {
+        seek( $self->body, 0, 0 );
+    }
+}
+
 1;