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
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.