diff options
author | Jacob Helwig <jacob@puppetlabs.com> | 2011-08-02 11:13:21 -0700 |
---|---|---|
committer | Jacob Helwig <jacob@puppetlabs.com> | 2011-08-19 13:52:58 -0700 |
commit | 1e59b268063772a59efdc810e5967c63e05cdb2d (patch) | |
tree | 4a9147f45d2ecd06432f217f57cae717789762b4 /lib/puppet | |
parent | 37f87b709598b48bc8b562422da27cc73cc1eff1 (diff) | |
download | puppet-1e59b268063772a59efdc810e5967c63e05cdb2d.tar.gz puppet-1e59b268063772a59efdc810e5967c63e05cdb2d.tar.xz puppet-1e59b268063772a59efdc810e5967c63e05cdb2d.zip |
Always put a slash between the checksum and path in filebucket URLs
Since absolute paths on Windows do not always start with /, we need to
make sure that there is always a slash between the checksum and the
path, or the drive letter will end up being considered as part of the
checksum.
On systems where absolute paths always start with /, the extra slash
is removed by the parsing done to the constructed URL.
Reviewed-by: Nick Lewis <nick@puppetlabs.com>
(cherry picked from commit 5314376d4378c4b4f990a7d61a9677594e12a2a5)
Diffstat (limited to 'lib/puppet')
-rw-r--r-- | lib/puppet/file_bucket/dipper.rb | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/puppet/file_bucket/dipper.rb b/lib/puppet/file_bucket/dipper.rb index d6f6a3747..870c50eec 100644 --- a/lib/puppet/file_bucket/dipper.rb +++ b/lib/puppet/file_bucket/dipper.rb @@ -35,11 +35,12 @@ class Puppet::FileBucket::Dipper begin file_bucket_file = Puppet::FileBucket::File.new(contents, :bucket_path => @local_path) files_original_path = absolutize_path(file) - dest_path = "#{@rest_path}#{file_bucket_file.name}#{files_original_path}" + dest_path = "#{@rest_path}#{file_bucket_file.name}/#{files_original_path}" + file_bucket_path = "#{@rest_path}#{file_bucket_file.checksum_type}/#{file_bucket_file.checksum_data}/#{files_original_path}" # Make a HEAD request for the file so that we don't waste time # uploading it if it already exists in the bucket. - unless Puppet::FileBucket::File.indirection.head("#{@rest_path}#{file_bucket_file.checksum_type}/#{file_bucket_file.checksum_data}#{files_original_path}") + unless Puppet::FileBucket::File.indirection.head(file_bucket_path) Puppet::FileBucket::File.indirection.save(file_bucket_file, dest_path) end |