summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/AnyEvent/Riak.pm16
-rw-r--r--t/basic.t4
2 files changed, 16 insertions, 4 deletions
diff --git a/lib/AnyEvent/Riak.pm b/lib/AnyEvent/Riak.pm
index 74fb700..d86a254 100644
--- a/lib/AnyEvent/Riak.pm
+++ b/lib/AnyEvent/Riak.pm
@@ -184,7 +184,12 @@ sub fetch {
),
headers => $self->_build_headers( $options{parameters} ),
sub {
- $cv->send( $cb->(@_) );
+ my ($body, $headers) = @_;
+ if ($body && $headers->{Status} == 200) {
+ $cv->send( $cb->(JSON::decode_json($body)) );
+ }else{
+ $cv->send( $cb->(0) );
+ }
}
);
$cv;
@@ -212,7 +217,14 @@ sub store {
headers => $self->_build_headers( $options{parameters} ),
body => $json,
sub {
- $cv->send( $cb->(@_) );
+ my ($body, $headers) = @_;
+ my $result;
+ if ($headers->{Status} == 204) {
+ $result = $body ? JSON::decode_json($body) : 1;
+ }else{
+ $result = 0;
+ }
+ $cv->send( $cb->($result) );
}
);
$cv;
diff --git a/t/basic.t b/t/basic.t
index a898f68..89da815 100644
--- a/t/basic.t
+++ b/t/basic.t
@@ -65,8 +65,8 @@ my $value = {
ok my $res = $riak->store('foo', 'bar', $value)->recv, 'set a new key';
-# ok $res = $riak->fetch( 'foo', 'bar' )->recv, 'fetch our new key';
-# is_deeply $res, $value, 'value is ok';
+ok $res = $riak->fetch( 'foo', 'bar' )->recv, 'fetch our new key';
+is_deeply $res, $value, 'value is ok';
# ok $res = $riak->delete( 'foo', 'bar' )->recv, 'delete our key';
# ok my $store_w_cb = $riak->store(