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.

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>