NAME
Amon2::Plugin::Web::Streaming - streaming support for Amon2
SYNOPSIS
use Amon2::Lite;
__PACKAGE__->load_plugin(qw/Web::Streaming/);
any '/poll' => sub {
my $c = shift;
return $c->streaming(sub {
my $respond = shift;
...;
$respond->write([200, [], ['OK']]);
});
};
any '/poll_json' => sub {
my $c = shift;
return $c->streaming_json(sub {
my $writer = shift;
...;
$writer->write_json(+{ });
$writer->close;
});
};
DESCRIPTION
This is an Amon2 plugin to support streaming.
You MUST use the HTTP server supporting psgi.streaming.
EXPORTED METHODS
- $c->streaming($code);
-
You can return delayed response for PSGI spec.
Argument for $code is
$respond
. It's same as a argument for PSGI callback. - $c->streaming_json($code);
-
It's a short hand utility to publish streaming JSON.
The argument is instance of Amon2::Plugin::Web::Streaming::Writer.
Amon2::Plugin::Streaming::Writer METHODS
- new
-
Do not create the instance directly.
- $writer->write_json($data)
-
Write a $data as JSON for the socket.
- $writer->close()
-
Close the socket.