logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

Twiggy - AnyEvent HTTP server for PSGI

Author

       Tatsuhiko Miyagawa

       Tokuhiro Matsuno

       Yuval Kogman

       Hideki Yamamura

       Daisuke Maki

Description

       Twiggy is a lightweight and fast HTTP server with unique features such as:

       PSGI
           Can run any PSGI applications. Fully supports psgi.nonblocking and psgi.streaming interfaces.

       AnyEvent
           This server uses AnyEvent and runs in a non-blocking event loop, so it's best to run event-driven web
           applications  that runs I/O bound jobs or delayed responses such as long-poll, WebSocket or streaming
           content (server push).

           This software used to be called Plack::Server::AnyEvent but was renamed to Twiggy.

       Fast header parser
           Uses XS/C based HTTP header parser for the best performance. (optional, install the  HTTP::Parser::XS
           module to enable it; see also Plack::HTTPParser for more information).

       Lightweight and Fast
           The  memory required to run twiggy is 6MB and it can serve more than 4500 req/s with a single process
           on Perl 5.10 with MacBook Pro 13" late 2009.

       Superdaemon aware
           Supports Server::Starter for hot deploy and graceful restarts.

           To use it, instead of the usual:

               plackup --server Twiggy --port 8111 app.psgi

           install Server::Starter and use:

               start_server --port 8111 -- plackup --server Twiggy app.psgi

Environment

       The following environment variables are supported.

       TWIGGY_DEBUG
           Set to true to enable debug messages from Twiggy.

License

       This module is licensed under the same terms as Perl itself.

Name

       Twiggy - AnyEvent HTTP server for PSGI

See Also

       Plack AnyEvent Tatsumaki

perl v5.32.0                                       2021-01-24                                        Twiggy(3pm)

Synopsis

         twiggy --listen :8080

       See "twiggy -h" for more details.

         use Twiggy::Server;

         my $server = Twiggy::Server->new(
             host => $host,
             port => $port,
         );
         $server->register_service($app);

         AE::cv->recv;

See Also