# module Chef::Deprecation::Provider::RemoteFile

## Deprecation::Provider::RemoteFile¶ ↑

This module contains the deprecated functions of Chef::Provider::RemoteFile. These functions are refactored to different components. They are frozen and will be removed in Chef 12.

### Public Instance Methods

backup_new_resource() click to toggle source

    # File lib/chef/deprecation/provider/remote_file.rb, line 49
    def backup_new_resource
      if ::File.exists?(@new_resource.path)
        Chef::Log.debug "#{@new_resource} checksum changed from #{@current_resource.checksum} to #{@new_resource.checksum}"
        backup @new_resource.path
      end
    end

current_resource_matches_target_checksum?() click to toggle source

    # File lib/chef/deprecation/provider/remote_file.rb, line 30
    def current_resource_matches_target_checksum?
      @new_resource.checksum && @current_resource.checksum && @current_resource.checksum =~ /^#{Regexp.escape(@new_resource.checksum)}/
    end

http_client_opts(source) click to toggle source

    # File lib/chef/deprecation/provider/remote_file.rb, line 66
    def http_client_opts(source)
      opts={}
      # CHEF-3140
      # 1. If it's already compressed, trying to compress it more will
      # probably be counter-productive.
      # 2. Some servers are misconfigured so that you GET $URL/file.tgz but
      # they respond with content type of tar and content encoding of gzip,
      # which tricks Chef::REST into decompressing the response body. In this
      # case you'd end up with a tar archive (no gzip) named, e.g., foo.tgz,
      # which is not what you wanted.
      if @new_resource.path =~ /gz$/ or source =~ /gz$/
        opts[:disable_gzip] = true
      end
      opts
    end

matches_current_checksum?(candidate_file) click to toggle source

    # File lib/chef/deprecation/provider/remote_file.rb, line 34
    def matches_current_checksum?(candidate_file)
      Chef::Log.debug "#{@new_resource} checking for file existence of #{@new_resource.path}"
      if ::File.exists?(@new_resource.path)
        Chef::Log.debug "#{@new_resource} file exists at #{@new_resource.path}"
        @new_resource.checksum(checksum(candidate_file.path))
        Chef::Log.debug "#{@new_resource} target checksum: #{@current_resource.checksum}"
        Chef::Log.debug "#{@new_resource} source checksum: #{@new_resource.checksum}"

        @new_resource.checksum == @current_resource.checksum
      else
        Chef::Log.debug "#{@new_resource} creating #{@new_resource.path}"
        false
      end
    end

source_file(source, current_checksum, &block) click to toggle source

    # File lib/chef/deprecation/provider/remote_file.rb, line 56
    def source_file(source, current_checksum, &block)
      if absolute_uri?(source)
        fetch_from_uri(source, &block)
      elsif !Chef::Config[:solo]
        fetch_from_chef_server(source, current_checksum, &block)
      else
        fetch_from_local_cookbook(source, &block)
      end
    end