The socket thing again.
skimo [Fri, 14 Sep 2001 17:40:30 +0000 (17:40 +0000)]
GetEnvironment for pure mode.

perl/FCGI.PL

index c615c8b..e84def2 100644 (file)
@@ -6,7 +6,7 @@ open OUT, ">FCGI.pm";
 
 print "Generating FCGI.pm\n";
 print OUT <<'EOP';
-# $Id: FCGI.PL,v 1.27 2001/09/01 13:07:28 skimo Exp $
+# $Id: FCGI.PL,v 1.28 2001/09/14 17:40:30 skimo Exp $
 
 package FCGI;
 
@@ -47,6 +47,9 @@ use constant FILTER => 3;
                      AUTHORIZER, "AUTHORIZER",
                      FILTER, "FILTER",
                     );
+
+# This only works on Unix; anyone familiar with Windows is welcome
+# to give a hand here
 sub IsFastCGI {
     my ($req) = @_;
     $req->{isfastcgi} =
@@ -55,6 +58,10 @@ sub IsFastCGI {
     return $req->{isfastcgi};
 }
 
+sub GetEnvironment {
+    return shift->{'env'};
+}
+
 sub read_nv_len {
     my ($stream) = @_;
     my $buf;
@@ -261,8 +268,9 @@ __END__
 
 *FAIL_ACCEPT_ON_INTR = sub() { 1 };
 
-sub Request(;***$$$) {
+sub Request(;***$*$) {
     my @defaults = (\*STDIN, \*STDOUT, \*STDERR, \%ENV, 0, 0);
+    $_[4] = fileno($_[4]) if defined(fileno($_[4]));
     splice @defaults,0,@_,@_;
     RequestX(@defaults);
 }