X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FHTTP%2FBody%2FOctetstream.pm;h=8f14f858ad9879188200a9d7e30d8e564c0e1be4;hb=580501774c364b5af361fd242ee980d25995eb54;hp=8c5026480f17b8525c68cf077f90fed8bba29962;hpb=5be7d682dcbbf02bc1968c1b9bbe41facf8c28c0;p=catagits%2FHTTP-Body.git diff --git a/lib/HTTP/Body/Octetstream.pm b/lib/HTTP/Body/Octetstream.pm index 8c50264..8f14f85 100644 --- a/lib/HTTP/Body/Octetstream.pm +++ b/lib/HTTP/Body/Octetstream.pm @@ -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;