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;
);
print STDERR $response->status_line."\n";
print STDERR $response->headers_as_string("\n")."\n";
- print STDOUT $response->content."\n";
+ my $content = $response->content;
+ $content .= "\n" if length($content) and $content !~ /\n\z/;
+ print STDOUT $content if $content;
}
sub _run_cli {