summary refs log tree commit diff
path: root/lib/AnyEvent/Riak.pm
diff options
context:
space:
mode:
authorfranck cuny <franck@lumberjaph.net>2010-04-11 17:19:55 +0200
committerfranck cuny <franck@lumberjaph.net>2010-04-11 17:19:55 +0200
commit61c5d22e63d49decaf2ea150fbb0870a7e57944f (patch)
tree9a986ce63a9c75fbefe49083dcbdb82d7f8169de /lib/AnyEvent/Riak.pm
parentmore API cleanup and POD (diff)
downloadanyevent-riak-61c5d22e63d49decaf2ea150fbb0870a7e57944f.tar.gz
fix store and fetch
Diffstat (limited to 'lib/AnyEvent/Riak.pm')
-rw-r--r--lib/AnyEvent/Riak.pm16
1 files changed, 14 insertions, 2 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;