Merge pull request #1087 from nwjsmith/master
Allow `file://` URIs from `config.box.url`
This commit is contained in:
commit
e0e2cc1974
|
@ -1,4 +1,5 @@
|
|||
require 'fileutils'
|
||||
require 'uri'
|
||||
|
||||
module Vagrant
|
||||
module Downloaders
|
||||
|
@ -6,7 +7,8 @@ module Vagrant
|
|||
# simply does a file copy.
|
||||
class File < Base
|
||||
def self.match?(uri)
|
||||
::File.file?(::File.expand_path(uri))
|
||||
extracted = URI.extract(uri, "file")
|
||||
(extracted && extracted.include?(uri)) || ::File.file?(::File.expand_path(uri))
|
||||
end
|
||||
|
||||
def download!(source_url, destination_file)
|
||||
|
|
|
@ -10,7 +10,7 @@ module Vagrant
|
|||
class HTTP < Base
|
||||
def self.match?(uri)
|
||||
# URI.parse barfs on '<drive letter>:\\files \on\ windows'
|
||||
extracted = URI.extract(uri).first
|
||||
extracted = URI.extract(uri, ['http', 'https']).first
|
||||
extracted && extracted.include?(uri)
|
||||
end
|
||||
|
||||
|
|
|
@ -37,6 +37,10 @@ describe Vagrant::Downloaders::File do
|
|||
ENV["HOME"] = old_home
|
||||
end
|
||||
end
|
||||
|
||||
it "should match file:// URIs" do
|
||||
described_class.match?("file://#{__FILE__}").should be
|
||||
end
|
||||
end
|
||||
|
||||
describe "downloading" do
|
||||
|
|
|
@ -11,6 +11,10 @@ describe Vagrant::Downloaders::HTTP do
|
|||
described_class.match?("http://foo:bar@google.com/foo.box").should be
|
||||
described_class.match?("http://google.com:8500/foo.box").should be
|
||||
end
|
||||
|
||||
it "should not match file:// URIs" do
|
||||
described_class.match?("file://#{__FILE__}").should_not be
|
||||
end
|
||||
end
|
||||
|
||||
describe "downloading" do
|
||||
|
|
Loading…
Reference in New Issue