Tatsuhiko Miyagawa > XML-Atom-Stream > XML::Atom::Stream

Download:
XML-Atom-Stream-0.11.tar.gz

Dependencies

Annotate this POD

CPAN RT

New  1
Open  0
View/Report Bugs
Module Version: 0.11   Source  

NAME ^

XML::Atom::Stream - A client interface for AtomStream

SYNOPSIS ^

  use XML::Atom::Stream;

  my $url = "http://updates.sixapart.com/atom-stream.xml";

  my $client = XML::Atom::Stream->new(
      callback  => \&callback,
      reconnect => 1,
      debug     => 1,
      timeout   => 30,
  );
  $client->connect($url);

  sub callback {
      my($atom) = @_;
      # $atom is a XML::Atom::Feed object
  }

DESCRIPTION ^

XML::Atom::Stream is a consumer of AtomStream. It connects to Atom stream, the never ending Atom feed and parses the feed by SAX pull parser. Whenever it retrieves a new feed, your callback function will be invoked.

METHODS ^

new
  my $client = XML::Atom::Stream->new(
      callback  => \&callback,
      reconnect => 1,
      debug     => 1,
  );

Creates a new XML::Atom::Stream instance.

callback

Callback reference to handle new Atom feed. Callback function will receive only one parameter, XML::Atom::Feed object. You can abort the connection by throwing an exception (die) inside the callback.

reconnect

Whether to do automatic reconnection when the SAX parser fails to parse the stream data, or the connection gets disconnected. Note that if you abort the connection by dying inside the callback, it won't reconnect. Defaults to 0.

timeout

timeout variable which is passed to LWP::UserAgent. Defaults to 15.

ua

an object of LWP::UserAgent or its subclass to use to connect to the Atom stream. Optional and by default it tries to create its own LWP::UserAgent object.

debug

Whether to display debug messages. Defaults to 0.

connect
  $client->connect($url);

Connects to the Atom stream URL and waits for the incoming feeds.

AUTHOR ^

Tatsuhiko Miyagawa <miyagawa@bulknews.net> with tips from Benjamin Trott and Brad Fitzpatrick.

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

SEE ALSO ^

XML::Atom, XML::Atom::Filter, http://www.livejournal.com/users/brad/2143713.html

syntax highlighting: