summaryrefslogtreecommitdiff
path: root/lib/chef/provider/remote_file
diff options
context:
space:
mode:
authordanielsdeleo <dan@opscode.com>2013-05-22 16:36:04 -0700
committerdanielsdeleo <dan@opscode.com>2013-05-23 12:59:13 -0700
commite94e935e0ce206216e518ce5c4c3e3e509d14e3e (patch)
tree6a5fb3a148d8a42f701b2a3ab3cea397a063a4d8 /lib/chef/provider/remote_file
parente3a3346bd6082493f192f94d2f3c0f4b92c7c862 (diff)
downloadchef-e94e935e0ce206216e518ce5c4c3e3e509d14e3e.tar.gz
ensure HTTP backend sets cksum on cache control data
Diffstat (limited to 'lib/chef/provider/remote_file')
-rw-r--r--lib/chef/provider/remote_file/http.rb6
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/chef/provider/remote_file/http.rb b/lib/chef/provider/remote_file/http.rb
index 4ae8cb49e8..855041f91e 100644
--- a/lib/chef/provider/remote_file/http.rb
+++ b/lib/chef/provider/remote_file/http.rb
@@ -18,6 +18,7 @@
#
require 'chef/rest'
+require 'chef/digester'
require 'chef/provider/remote_file'
require 'chef/provider/remote_file/result'
require 'chef/provider/remote_file/cache_control_data'
@@ -60,7 +61,7 @@ class Chef
begin
rest = Chef::REST.new(uri, nil, nil, http_client_opts)
tempfile = rest.streaming_request(uri, headers)
- update_cache_control_data(rest.last_response)
+ update_cache_control_data(tempfile, rest.last_response)
rescue Net::HTTPRetriableError => e
if e.response.is_a? Net::HTTPNotModified
tempfile = nil
@@ -73,7 +74,8 @@ class Chef
private
- def update_cache_control_data(response)
+ def update_cache_control_data(tempfile, response)
+ cache_control_data.checksum = Chef::Digester.checksum_for_file(tempfile.path)
cache_control_data.mtime = last_modified_time_from(response)
cache_control_data.etag = etag_from(response)
cache_control_data.save