fix for ->engine->env in Catalyst::Engine::CGI & FastCGI (it should be complete now)
KMX [Thu, 21 May 2009 21:14:48 +0000 (21:14 +0000)]
lib/Catalyst/Engine/CGI.pm
lib/Catalyst/Engine/FastCGI.pm

index 4e3686f..f598cf5 100644 (file)
@@ -233,7 +233,7 @@ sub read_chunk { shift; shift; *STDIN->sysread(@_); }
 
 =cut
 
-sub run { shift; shift->handle_request(@_) }
+sub run { shift; shift->handle_request( env => \%ENV ) }
 
 =head1 SEE ALSO
 
index c992dcf..3764bc4 100644 (file)
@@ -220,6 +220,12 @@ sub _fix_env
     my $self = shift;
     my $env = shift;
 
+    # we are gonna add variables from current system environment %ENV to %env 
+    # that contains at this moment just variables taken from FastCGI request
+    foreach my $k (keys(%ENV)) {
+      $env->{$k} = $ENV{$k} unless defined($env->{$k});
+    }
+
     return unless ( $env->{SERVER_SOFTWARE} );
 
     # If we're running under Lighttpd, swap PATH_INFO and SCRIPT_NAME