Commit | Line | Data |
---|---|---|
32b29b79 | 1 | package HTTP::Body::Octetstream; |
2 | ||
3 | use strict; | |
4 | use base 'HTTP::Body'; | |
5 | use bytes; | |
6 | ||
7 | use File::Temp 0.14; | |
8 | ||
58050177 | 9 | sub spin { |
10 | my $self = shift; | |
11 | ||
12 | unless ( $self->body ) { | |
13 | $self->body( File::Temp->new ); | |
14 | } | |
15 | ||
16 | if ( my $length = length( $self->{buffer} ) ) { | |
17 | $self->body->write( delete $self->{buffer}, $length ); | |
18 | } | |
19 | ||
20 | if ( $self->length == $self->content_length ) { | |
21 | seek( $self->body, 0, 0 ); | |
22 | } | |
23 | } | |
24 | ||
32b29b79 | 25 | 1; |