Man pages sections > man3 > Coro::Twiggy

Coro::Twiggy - Coro interface for Twiggy

Coro::Twiggy(3pm) User Contributed Perl Documentation Coro::Twiggy(3pm)

NAME

Coro::Twiggy - Coro interface for Twiggy

SYNOPSIS

    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 );

DESCRIPTION

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

METHODS

new

Constructor. Returns server.
Named arguments
host
port
service
PSGI application

register_service

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

VCS

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

AUTHOR

 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.
2012-08-01 perl v5.14.2