diff options
author | Jay Mundrawala <jdmundrawala@gmail.com> | 2015-05-19 19:27:00 -0700 |
---|---|---|
committer | Jay Mundrawala <jdmundrawala@gmail.com> | 2015-05-21 10:12:58 -0500 |
commit | 6ba819dd88383a9ad7ef7af5b013cbf6a4da2c84 (patch) | |
tree | 55eff88af3c3a71a6ba78fcc9f9c8554dd4bc4f3 /lib/chef/mixin | |
parent | 605552d20d7dee84484f9d197d11a42c05d0ee1f (diff) | |
download | chef-6ba819dd88383a9ad7ef7af5b013cbf6a4da2c84.tar.gz |
Allow spaces in files for remote_file
The following example now works
```ruby
remote_file "c:\\nospaces" do
source "file:///c:/foo bar"
end
```
Diffstat (limited to 'lib/chef/mixin')
-rw-r--r-- | lib/chef/mixin/uris.rb | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/lib/chef/mixin/uris.rb b/lib/chef/mixin/uris.rb index 6c1ae793e2..0136b55f6a 100644 --- a/lib/chef/mixin/uris.rb +++ b/lib/chef/mixin/uris.rb @@ -28,6 +28,17 @@ class Chef # From open-uri !!(%r{\A[A-Za-z][A-Za-z0-9+\-\.]*://} =~ source) end + + + def as_uri(source) + begin + URI.parse(source) + rescue URI::InvalidURIError + Chef::Log.warn("#{source} was an invalid URI. Trying to escape invalid characters") + URI.parse(URI.escape(source)) + end + end + end end end |