Assume FastCGI mode if STDIN is a socket (works some places env vars fail)
[catagits/Web-Simple.git] / lib / Web / Simple / Application.pm
index 9272b91..235b871 100644 (file)
@@ -62,7 +62,10 @@ sub to_psgi_app {
 
 sub run {
   my $self = shift;
-  if ($ENV{PHP_FCGI_CHILDREN} || $ENV{FCGI_ROLE} || $ENV{FCGI_SOCKET_PATH}) {
+  if (
+    $ENV{PHP_FCGI_CHILDREN} || $ENV{FCGI_ROLE} || $ENV{FCGI_SOCKET_PATH}
+    || -S STDIN # STDIN is a socket, almost certainly FastCGI
+    ) {
     return $self->_run_fcgi;
   } elsif ($ENV{GATEWAY_INTERFACE}) {
     return $self->_run_cgi;