---
name: "Coro::Twiggy"
section: "3pm"
platform: "linux"
package: "libcoro-twiggy-perl"
version: "0.03-1.1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Coro::Twiggy"
---

# Coro::Twiggy(3pm)

Coro interface for Twiggy

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

## AUTHOR

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

## COPYRIGHT AND LICENSE

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.
