Plack

 view release on metacpan or  search on metacpan

eg/dot-psgi/nonblock-hello.psgi  view on Meta::CPAN

use AnyEvent;

my $app = sub {
    my $env = shift;

    warn "This app needs a server that supports psgi.streaming and psgi.nonblocking"
        unless $env->{'psgi.streaming'} && $env->{'psgi.nonblocking'};

    return sub {
        my $respond = shift;
        my $w = $respond->([ 200, ['Content-Type' => 'text/plain'] ]);
        $w->write("Hello\n");
        my $t; $t = AE::timer 2, 0, sub {
            undef $t;
            $w->write("World\n");
            $w->close;
        };
    };
};



( run in 1.998 second using v1.01-cache-2.11-cpan-5837b0d9d2c )