The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

FCGI::Async::PSGI - use PSGI applications with FCGI::Async

SYNOPSIS

 use FCGI::Async::PSGI;
 use IO::Async::Loop;

 my $loop = IO::Async::Loop->new;

 my $fcgi = FCGI::Async::PSGI->new(
    port => 12345,
    app => sub {
       my $env = shift;

       return [
          200,
          [ "Content-Type" => "text/plain" ],
          [ "Hello, world!" ],
       ];
    },
 );

 $loop->add( $fcgi );

 $loop->loop_forever;

DESCRIPTION

This subclass of FCGI::Async allows a FastCGI responder to use a PSGI application to respond to requests. It acts as a gateway between the FastCGI connection from the webserver, and the PSGI application. Aside from the use of PSGI instead of the on_request callback, this class behaves similarly to FCGI::Async.

PARAMETERS

The following named parameters may be passed to new or configure:

app => CODE

Reference to the actual PSGI application to use for responding to requests

PSGI ENVIRONMENT

The following extra keys are supplied to the environment of the PSGI app:

fcgi.async

The FCGI::Async::PSGI object serving the request

fcgi.async.req

The FCGI::Async::Request object representing this particular request

io.async.loop

The IO::Async::Loop object that the FCGI::Async::PSGI object is a member of. This is also provided as fcgi.async.loop for backward-compatibility with version 0.21, but at some point will be removed.

SEE ALSO

AUTHOR

Paul Evans <leonerd@leonerd.org.uk>