Max Maischein > HTTP-ServerEvent-0.01 > HTTP::ServerEvent

Download:
HTTP-ServerEvent-0.01.tar.gz

Dependencies

Annotate this POD

View/Report Bugs
Module Version: 0.01   Source   Latest Release: HTTP-ServerEvent-0.02

NAME ^

HTTP::ServerEvent - create strings for HTTP Server Sent Events

->as_string( %options )

  return HTTP::ServerEvent->as_string(
    event => "ping",
    data => time(),
    retry => 5000, # retry in 5 seconds if disconnected
    id => $counter++,
  );

Returns a string that can be sent as a server-sent event through the socket.

The allowed options are:

Javascript EventSource object ^

To receive events on the other side, usually in a browser, you will want to instantiate an EventSource object.

  var events = new EventSource('/events');
  // Subscribe to "tick" event
  events.addEventListener('tick', function(event) {
    var out= document.getElementById("my_console");
    out.appendChild(document.createTextNode(event.data));
  }, false);

Last-Event-Id Header ^

If you're sending events, you may want to look at the Last-Event-Id HTTP header. This header is sent by the EventSource object when reestablishing a connection that was intermittently lost. You can use this to bring the reconnecting client up to date with the current state instead of transmitting the complete state.

SEE ALSO ^

https://developer.mozilla.org/en-US/docs/Server-sent_events/Using_server-sent_events

https://hacks.mozilla.org/2011/06/a-wall-powered-by-eventsource-and-server-sent-events/

http://www.html5rocks.com/en/tutorials/eventsource/basics/?ModPagespeed=noscript

REPOSITORY ^

The public repository of this module is http://github.com/Corion/http-serverevent.

SUPPORT ^

The public support forum of this module is http://perlmonks.org/.

BUG TRACKER ^

Please report bugs in this module via the RT CPAN bug queue at https://rt.cpan.org/Public/Dist/Display.html?Name=HTTP-ServerEvent or via mail to http-serverevent-Bugs@rt.cpan.org.

AUTHOR ^

Max Maischein corion@cpan.org

COPYRIGHT (c) ^

Copyright 2013-2013 by Max Maischein corion@cpan.org.

LICENSE ^

This module is released under the same terms as Perl itself.

syntax highlighting: