-
-
09 Jul 2008 11:48:33 UTC
- Distribution: CouchDB-Client
- Module version: 0.04
- Source (raw)
- Browse (raw)
- Changes
- How to Contribute
- Issues (7)
- Testers (417 / 2 / 1)
- Kwalitee
Bus factor: 0- License: perl_5
- Perl: v5.6.0
- Activity
24 month- Tools
- Download (22.09KB)
- MetaCPAN Explorer
- Permissions
- Subscribe to distribution
- Permalinks
- This version
- Latest version
and 1 contributors-
Robin Berjon,
- Dependencies
- HTTP::Request
- JSON::Any
- LWP::UserAgent
- MIME::Base64
- URI::Escape
- and possibly others
- Reverse dependencies
- CPAN Testers List
- Dependency graph
NAME
CouchDB::Client - Simple, correct client for CouchDB
SYNOPSIS
use CouchDB::Client; my $c = CouchDB::Client->new(uri => 'https://dbserver:5984/'); $c->testConnection or die "The server cannot be reached"; print "Running version " . $c->serverInfo->{version} . "\n"; my $db = $c->newDB('my-stuff')->create; # listing databases $c->listDBs; $c->listDBNames;
DESCRIPTION
This module is a client for the CouchDB database.
METHODS
- new
-
Constructor. Takes a hash or hashref of options:
uri
which specifies the server's URI;scheme
,host
,port
which are used ifuri
isn't provided and default to 'http', 'localhost', and '5984' respectively;json
which defaults to a JSON::Any object with utf8 and allow_blessed turned on but can be replaced with anything with the same interface; andua
which is a LWP::UserAgent object and can also be replaced. - testConnection
-
Returns true if a connection can be made to the server, false otherwise.
- serverInfo
-
Returns a hashref of the server metadata, typically something that looks like
{ couchdb => "Welcome", version => "0.8.0-incubating"}
. It throws an exception if it can't connect. - newDB $NAME
-
Returns a new
CouchDB::Client::DB
object for a database of that name. Note that the DB does not need to exist yet, and will not be created if it doesn't. - listDBNames
-
Returns an arrayref of all the database names that the server knows of. Throws an exception if it cannot connect.
- listDBs
-
Same as above but returns an arrayref of
CouchDB::Client::DB
objects instead. - dbExists $NAME
-
Returns true if a database of that name exists, false otherwise.
INTERNAL METHODS
You will use these at your own risk
- req $METHOD, $PATH, $CONTENT
-
$METHOD is the HTTP method to use; $PATH the part of the path that follows
scheme://host:port/
; and $CONTENT a Perl data structure. The latter, if present, is encoded to JSON and the request is made using the given method and path. The return value is a hash containing a boolean indicatingsuccess
, astatus
being the HTTP response code, a descriptivemsg
, and ajson
field containing the response JSON. - uriForPath $PATH
-
Gets a path and returns the complete URI.
AUTHOR
Robin Berjon, <robin @t berjon d.t com>
BUGS
Please report any bugs or feature requests to bug-couchdb-client at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=CouchDb-Client.
COPYRIGHT & LICENSE
Copyright 2008 Robin Berjon, all rights reserved.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.8 or, at your option, any later version of Perl 5 you may have available.
Module Install Instructions
To install CouchDB::Client, copy and paste the appropriate command in to your terminal.
cpanm CouchDB::Client
perl -MCPAN -e shell install CouchDB::Client
For more information on module installation, please visit the detailed CPAN module installation guide.