AnyEvent::CouchDB::Stream(3p)

NAME
AnyEvent::CouchDB::Stream - Watch changes from a CouchDB database.

SYNOPSIS
  use AnyEvent::CouchDB::Stream;
  my $listener = AnyEvent::CouchDB::Stream->new(
      url       => 'http://localhost:5984',
      database  => 'test',
      on_change => sub {
          my $change = shift;
          warn "document $change->{_id} updated";
      },
      on_keepalive => sub {
          warn "ping\n";
      },
      timeout => 1,
  );

DESCRIPTION
AnyEvent::CouchDB::Stream is an interface to the CouchDB changes database API.

  OPTIONS

url URL of the CouchDB host.

database
    Name of the CouchDB database.

timeout
    Number of seconds to wait before timing out. On timeout, The on_error code ref will be called with an argument of 'timeout'.

filter
    Name of the filter to execute on this notifier.

since
    Number to fetch changes from. Defaults to 1.

on_change
    A code ref to execute when a change notification is received. It is mandatory.

on_keepalive
    A code ref to execute when keepalive is called.

on_error
    A code ref to execute on error. Code ref is passed the error message.

on_eof
    A code ref to execute on eof

headers
    An optional hashref of headers that should be used for the HTTP request. Defaults to " { 'Content-Type' =" 'application/json' } >.

heartbeat
    The interval in milliseconds between newlines sent from the server to ensure that an open connection is still being maintained

AUTHOR
franck cuny <franck.cuny@linkfluence.net>

SEE ALSO
AnyEvent::HTTP, AnyEvent::CouchDB, AnyEvent::Twitter::Stream, <http://books.couchdb.org/relax/reference/change-notifications>

LICENSE
Copyright 2010 by Linkfluence

<http://linkfluence.net>

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