All,
It seems to me that blob metadata updates aren't quite working in 0.4.0.
It looks like BlobHelper::extract_blob_metadata_hash is being fed request.env
directly, but I don't think that is right. If your client does a POST with
form parameters like:
HTTP-X-Deltacloud-Blobmeta-name=myname
Then those parameters are actually available in
request.env['rack.request.query_hash']. The attached patch makes that change
and seems to fix it in my tests. However, it is also possible that my
libdeltacloud client is doing the wrong thing here. Thoughts?
--
Chris Lalancette
>From 3f3ea9744cf3014bed3baef8c2bcadd05f5b143c Mon Sep 17 00:00:00 2001
From: Chris Lalancette <[email protected]>
Date: Wed, 17 Aug 2011 11:10:36 -0400
Subject: [PATCH] Fix blob metadata updates.
Signed-off-by: Chris Lalancette <[email protected]>
---
server/server.rb | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/server/server.rb b/server/server.rb
index 6bdb066..29d4c53 100644
--- a/server/server.rb
+++ b/server/server.rb
@@ -832,7 +832,7 @@ end
#update blob metadata
post "#{Sinatra::UrlForHelper::DEFAULT_URI_PREFIX}/buckets/:bucket/:blob" do
- meta_hash = BlobHelper::extract_blob_metadata_hash(request.env)
+ meta_hash =
BlobHelper::extract_blob_metadata_hash(request.env['rack.request.query_hash'])
success = driver.update_blob_metadata(credentials,
{'bucket'=>params[:bucket], :id =>params[:blob], 'meta_hash' => meta_hash})
if(success)
meta_hash.each do |k,v|
--
1.7.4.4