Coro-Twiggy
view release on metacpan or search on metacpan
lib/Coro/Twiggy.pm view on Meta::CPAN
package Coro::Twiggy;
use 5.008008;
use strict;
use warnings;
use Twiggy::Server;
use Scalar::Util 'weaken';
use Coro;
use Data::Dumper;
our $VERSION = '0.03';
=head1 NAME
Coro::Twiggy - Coro interface for L<Twiggy>
=head1 SYNOPSIS
lib/Coro/Twiggy.pm view on Meta::CPAN
=cut
sub register_service {
my ($self, $cb) = @_;
$self->{app} = $cb || DEFAULT_SERVICE;
}
sub _app {
my ($self) = @_;
weaken $self;
sub {
my ($env) = @_;
sub {
my ($cb) = @_;
async {
return DEFAULT_SERVICE->() unless $self;
my @res = eval { $self->{app}->($env, $self) };
my $res = shift @res;
if (my $err = $@) {
( run in 0.306 second using v1.01-cache-2.11-cpan-65fba6d93b7 )