diff options
author | danielsdeleo <dan@opscode.com> | 2013-10-09 14:55:05 -0700 |
---|---|---|
committer | danielsdeleo <dan@opscode.com> | 2013-10-16 13:53:36 -0700 |
commit | b14c9f6e9892ab2398de4035b8d6840d3da375e3 (patch) | |
tree | 8b7d2cace97135a5aa2ad21c7ae5277cb829e83c /lib/chef | |
parent | e92b71e3d04bcc9fd405a4e3e8978bf6ddd036e6 (diff) | |
download | chef-b14c9f6e9892ab2398de4035b8d6840d3da375e3.tar.gz |
Return the response body by default if we've read it
Otherwise clients like HTTP::Simple don't return anything at all from
http requests
Diffstat (limited to 'lib/chef')
-rw-r--r-- | lib/chef/http.rb | 4 | ||||
-rw-r--r-- | lib/chef/http/basic_client.rb | 1 |
2 files changed, 4 insertions, 1 deletions
diff --git a/lib/chef/http.rb b/lib/chef/http.rb index 4852a3eb8a..63119912cd 100644 --- a/lib/chef/http.rb +++ b/lib/chef/http.rb @@ -232,10 +232,12 @@ class Chef retrying_http_errors(url) do client = http_client(url) + return_value = nil if block_given? request, response = client.request(method, url, body, headers, &response_handler) else request, response = client.request(method, url, body, headers) {|r| r.read_body } + return_value = response.read_body end @last_response = response @@ -248,7 +250,7 @@ class Chef Chef::Log.debug("---- End HTTP Status/Header Data ----") if response.kind_of?(Net::HTTPSuccess) - [response, request, nil] + [response, request, return_value] elsif response.kind_of?(Net::HTTPNotModified) # Must be tested before Net::HTTPRedirection because it's subclass. [response, request, false] elsif redirect_location = redirected_to(response) diff --git a/lib/chef/http/basic_client.rb b/lib/chef/http/basic_client.rb index 62f83cfa5c..181fd5135d 100644 --- a/lib/chef/http/basic_client.rb +++ b/lib/chef/http/basic_client.rb @@ -48,6 +48,7 @@ class Chef def request(method, url, req_body, base_headers={}) http_request = HTTPRequest.new(method, url, req_body, base_headers).http_request + Chef::Log.debug("Initiating #{method} to #{url}") http_client.request(http_request) do |response| yield response if block_given? # http_client.request may not have the return signature we want, so |