Advertisement
Guest User

Mojo -> EventSource

a guest
Jul 15th, 2011
124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Perl 0.60 KB | None | 0 0
  1.  
  2. # server sent events
  3. get '/sse' => sub {
  4.     my $self = shift;
  5.  
  6.     $self->res->headers->connection("Keep-Alive");
  7.     $self->res->headers->content_type("text/event-stream");
  8.  
  9.     $c->{"$self"} = $self;
  10.  
  11.     $self->write("data:{"clientId":"foo"}\n\n");
  12.  
  13.     # ping
  14.     Mojo::IOLoop->recurring(15 => sub {
  15.         $self->write(":\n");
  16.     });
  17.  
  18.     $self->on_finish(sub{
  19.         delete $c->{"$self"};
  20.     });
  21. };
  22.  
  23.  
  24. # later... you stream to all connected clients
  25.  
  26. if ( %$c ) {
  27.     my $out = "data:".encode_json($data)."\n\n";
  28.     foreach ( values %$c ) {
  29.         $_->write($out);
  30.     }
  31. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement