---
name: "AnyEvent::FCGI"
section: "3pm"
platform: "linux"
package: "libanyevent-fcgi-perl"
version: "0.04-3"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/AnyEvent::FCGI"
---

# AnyEvent::FCGI(3pm)

non-blocking FastCGI server

## 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\>
