Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # server sent events
- get '/sse' => sub {
- my $self = shift;
- $self->res->headers->connection("Keep-Alive");
- $self->res->headers->content_type("text/event-stream");
- $c->{"$self"} = $self;
- $self->write("data:{"clientId":"foo"}\n\n");
- # ping
- Mojo::IOLoop->recurring(15 => sub {
- $self->write(":\n");
- });
- $self->on_finish(sub{
- delete $c->{"$self"};
- });
- };
- # later... you stream to all connected clients
- if ( %$c ) {
- my $out = "data:".encode_json($data)."\n\n";
- foreach ( values %$c ) {
- $_->write($out);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement