diff options
author | adam lounds <adamlounds@gmail.com> | 2013-03-20 11:08:43 +0000 |
---|---|---|
committer | adam lounds <adamlounds@gmail.com> | 2013-03-20 11:08:43 +0000 |
commit | 1f39a88e1e7fa18f241605b7469ee06ba40ec03b (patch) | |
tree | afe5539b0e159f4db3b81ad9654d56f23c78f9ba /lib/Net/Riak/Role/REST | |
parent | Add gitignore (diff) | |
download | net-riak-1f39a88e1e7fa18f241605b7469ee06ba40ec03b.tar.gz |
Add support for usermeta nvps
Diffstat (limited to 'lib/Net/Riak/Role/REST')
-rw-r--r-- | lib/Net/Riak/Role/REST/Object.pm | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/lib/Net/Riak/Role/REST/Object.pm b/lib/Net/Riak/Role/REST/Object.pm index e3341b3..6c0aa7e 100644 --- a/lib/Net/Riak/Role/REST/Object.pm +++ b/lib/Net/Riak/Role/REST/Object.pm @@ -32,6 +32,12 @@ sub store_object { $request->header('link' => $self->_links_to_header($object)); } + if ($object->has_meta) { + while ( my ( $k, $v ) = each %{ $object->metadata } ) { + $request->header('x-riak-meta-' . lc($k) => $v ); + } + } + if ($object->i2indexes) { foreach (keys %{$object->i2indexes}) { $request->header(':x-riak-index-' . lc($_) => $object->i2indexes->{$_}); @@ -101,8 +107,13 @@ sub populate_object { $HTTP::Headers::TRANSLATE_UNDERSCORE = 0; foreach ($http_response->header_field_names) { - next unless /^X-Riak-Index-(.+_bin)$/ || /^X-Riak-Index-(.+_int)$/; - $obj->add_index(lc($1), $http_response->header($_)) + + if ( /^X-Riak-Index-(.+_bin)$/ || /^X-Riak-Index-(.+_int)$/ ) { + $obj->add_index(lc($1), $http_response->header($_)) + } + elsif ( /^X-Riak-Meta-(.+)$/ ) { + $obj->set_meta(lc($1), $http_response->header($_)); + } } $HTTP::Headers::TRANSLATE_UNDERSCORE = 1; |