The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

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.

unix => $path

Path to unix file 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.

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>