do not mix syswrite/seek with buffered IO (as in CGI.pm); it causes difficult-to...
[catagits/HTTP-Request-AsCGI.git] / lib / HTTP / Request / AsCGI.pm
index 380551f..f351e34 100644 (file)
@@ -12,7 +12,7 @@ use IO::File;
 
 __PACKAGE__->mk_accessors(qw[ enviroment request stdin stdout stderr ]);
 
-our $VERSION = 0.5;
+our $VERSION = 0.5_02;
 
 sub new {
     my $class   = shift;
@@ -85,11 +85,14 @@ sub setup {
 
     if ( $self->request->content_length ) {
 
-        syswrite( $self->stdin, $self->request->content )
+        $self->stdin->print($self->request->content)
           or croak("Can't write request content to stdin handle: $!");
 
-        sysseek( $self->stdin, 0, SEEK_SET )
+        $self->stdin->seek(0, SEEK_SET)
           or croak("Can't seek stdin handle: $!");
+
+        $self->stdin->flush
+          or croak("Can't flush stdin handle: $!");
     }
 
     open( $self->{restore}->{stdin}, '<&', STDIN->fileno )