DOKK / manpages / debian 12 / libcoro-twiggy-perl / Coro::Twiggy.3pm.en
Coro::Twiggy(3pm) User Contributed Perl Documentation Coro::Twiggy(3pm)

Coro::Twiggy - Coro interface for Twiggy

    use Coro::Twiggy;
    use Plack::Request;
    use Coro::AnyEvent;
    my $application = sub {
        my ($env) = @_;
        my $req = Plack::Request->new($env);
        Coro::AnyEvent::sleep 10;
        ...
        return [
            200,
            [ 'Content-Type' => 'text/html' ],
            [ 'Twiggy response after 10 seconds' ]
        ]
    };
    my $server = Coro::Twiggy->new(host => '127.0.0.1', port => 8080);
    $server->register_service( $application );

The server starts Your application in "async" in Coro coroutine and uses its return value to respond to client.

Application have to return an ARRAYREF with the following items:

  • HTTP-code;
  • an ARRAYREF that contains headers for response;
  • an ARRAYREF that contains body of response.

To stop server destroy server object

Constructor. Returns server.

Named arguments

PSGI application

(Re)register PSGI application. Until the event server will respond 503 Service Unavailable.

<https://github.com/unera/coro-twiggy>

 Dmitry E. Oboukhov, <unera@debian.org>

Copyright (C) 2012 by Dmitry E. Oboukhov

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.8 or, at your option, any later version of Perl 5 you may have available.

2021-01-09 perl v5.32.0