package CouchDB::Client;
use strict;
use warnings;
our $VERSION = '0.09';
use JSON::Any qw(XS JSON DWIW);
use LWP::UserAgent qw();
use HTTP::Request qw();
use Encode qw(encode);
host} || 'localhost') . ':' .
($opt{port} || '5984') . '/';
}
$self{json} = ($opt{json} || JSON::Any->new(utf8 => 1, allow_blessed => 1));
$self{ua} = ($opt{ua} || LWP::UserAge
@;
return 1;
}
sub serverInfo {
my $self = shift;
my $res = $self->req('GET');
return $res->{json} if $res->{success};
confess("Connection error: $res->{msg}");
}
sub newDB {
my $self = shift;
bInfo {
my $self = shift;
my $res = $self->{client}->req('GET', $self->uriName);
return $res->{json} if $res->{success};
confess("Connection error: $res->{msg}");
}
sub create {
my $self = shift
y $res = $self->{client}->req('PUT', $self->uriName);
return $self if $res->{success} and $res->{json}->{ok};
confess("Database '$self->{name}' exists: $res->{msg}") if $res->{status} == 409;
confe
my $res = $self->{client}->req('DELETE', $self->uriName);
return 1 if $res->{success} and $res->{json}->{ok};
confess("Database '$self->{name}' not found: $res->{msg}") if $res->{status} == 404;
co
ss("Storage error: $res->{msg}") unless $res->{success};
$self->{rev} = $res->{json}->{rev};
$self->{id} = $res->{json}->{id} unless $self->{id};
return $self;
}
sub contentForSubmit {
my $self =
tus} == 404;
confess("Connection error: $res->{msg}") unless $res->{success};
my $data = $res->{json};
my %private;
my @keys = keys %$data; # need to two-step this due to delete()
for my $k (@key
tus} == 404;
confess("Connection error: $res->{msg}") unless $res->{success};
my $data = $res->{json};
my %private;
my @keys = keys %$data; # need to two-step this due to delete()
for my $k (@key
me . $vp . $qs);
confess("Connection error: $res->{msg}") unless $res->{success};
return $res->{json};
}
1;
=pod
=head1 NAME
CouchDB::Client::DesignDoc - CouchDB::Client design documents (views)