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

NAME

AnyEvent::FCGI - non-blocking FastCGI server

SYNOPSIS

    use AnyEvent;
    use AnyEvent::FCGI;

    my $fcgi = new AnyEvent::FCGI(
        port => 9000,
        on_request => sub {
            my $request = shift;
            $request->respond(
                'OH HAI! QUERY_STRING is ' . $request->param('QUERY_STRING'),
                'Content-Type' => 'text/plain',
            );
        }
    );

    my $timer = AnyEvent->timer(
        after => 10,
        interval => 0,
        cb => sub {
            # shut down server after 10 seconds
            $fcgi = undef;
        }
    );

    AnyEvent->loop;

DESCRIPTION

This module implements non-blocking FastCGI server for event based applications.

METHODS

new

This function creates a new FastCGI server and returns a new instance of a AnyEvent::FCGI object. To shut down the server just remove all references to this object.

PARAMETERS

port => $port

The TCP port the FastCGI server will listen on.

host => $host

The TCP address of the FastCGI server will listen on. If undefined 0.0.0.0 will be used.

socket => $path

Path to UNIX domain socket to listen. If specified, host and port parameters ignored.

on_request => sub { }

Reference to a handler to call when a new FastCGI request is received. It will be invoked as

    $on_request->($request)

where $request will be a new AnyEvent::FCGI::Request object.

backlog => $backlog

Optional. Integer number of socket backlog (listen queue)

SEE ALSO

AnyEvent, AnyEvent::FCGI::Request

This module based on FCGI::Async and FCGI::EV.

LICENSE

This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See perlartistic.

AUTHOR

Vitaly Kramskikh, <vkramskih@cpan.org>