---
 client/lib/deltacloud.rb |   16 ++++++++++++----
 1 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/client/lib/deltacloud.rb b/client/lib/deltacloud.rb
index 62303ba..de2b327 100644
--- a/client/lib/deltacloud.rb
+++ b/client/lib/deltacloud.rb
@@ -294,12 +294,20 @@ module DeltaCloud
       end
       logger << "[#{conf[:method].to_s.upcase}] #{conf[:path]}\n"
       if conf[:method].eql?(:post)
-        RestClient.send(:post, conf[:path], conf[:form_data], default_headers) 
do |response|
-          yield response.body if block_given?
+        RestClient.send(:post, conf[:path], conf[:form_data], default_headers) 
do |response, request, &block|
+          if response.respond_to?('body')
+            yield response.body if block_given?
+          else
+            yield response.to_s if block_given?
+          end
         end
       else
-        RestClient.send(conf[:method], conf[:path], default_headers) do 
|response|
-          yield response.body if block_given?
+        RestClient.send(conf[:method], conf[:path], default_headers) do 
|response, request, &block|
+          if response.respond_to?('body')
+            yield response.body if block_given?
+          else
+            yield response.to_s if block_given?
+          end
         end
       end
     end
-- 
1.7.1.1

Reply via email to