lib/HTTP/Request/AsCGI.pm
t/01use.t
+t/04io.t
Makefile.PL
MANIFEST This list of files
META.yml Module meta-data (added by MakeMaker)
if ( $self->request->content_length ) {
- $self->stdin->write( $self->request->content )
- or croak("Can't write content: $!");
+ $self->stdin->syswrite( $self->request->content )
+ or croak("Can't write content to stdin: $!");
- seek( $self->stdin, 0, 0 )
+ $self->stdin->sysseek( 0, SEEK_SET )
or croak("Can't seek stdin: $!");
}
open( STDERR, '>&', $self->{restore}->{stderr} )
or croak("Can't restore stderr: $!");
-
+
+ $self->stdin->sysseek( 0, SEEK_SET )
+ or croak("Can't seek stdin: $!");
+
+ $self->stdout->sysseek( 0, SEEK_SET )
+ or croak("Can't seek stdout: $!");
+
+ $self->stderr->sysseek( 0, SEEK_SET )
+ or croak("Can't seek stderr: $!");
+
$self->{restored}++;
}
# enviroment and descriptors will automatically be restored when $c is destructed.
}
- $stdout->seek( 0, 0 );
-
while ( my $line = $stdout->getline ) {
print $line;
}
--- /dev/null
+#!perl
+
+use Test::More tests => 3;
+
+use strict;
+use warnings;
+
+use HTTP::Request;
+use HTTP::Request::AsCGI;
+
+my $r = HTTP::Request->new( POST => 'http://www.host.com/');
+$r->content('STDIN');
+$r->content_length(5);
+$r->content_type('text/plain');
+
+my $c = HTTP::Request::AsCGI->new($r)->setup;
+
+print STDOUT 'STDOUT';
+print STDERR 'STDERR';
+
+$c->restore;
+
+is( $c->stdin->getline, 'STDIN', 'STDIN' );
+is( $c->stdout->getline, 'STDOUT', 'STDOUT' );
+is( $c->stderr->getline, 'STDERR', 'STDERR' );