Merge pull request #2003 from fgrehm/curl-user-agent

Curl user agent
This commit is contained in:
Mitchell Hashimoto 2013-07-28 20:50:20 -07:00
commit 9ba77a5ed5
2 changed files with 9 additions and 4 deletions

View File

@ -9,6 +9,10 @@ module Vagrant
# to cURL. cURL is a much more capable and complete download tool than
# a hand-rolled Ruby library, so we defer to it's expertise.
class Downloader
# Custom user agent provided to cURL so that requests to URL shorteners
# are properly tracked.
USER_AGENT = "Vagrant cURL Downloader"
def initialize(source, destination, options=nil)
@logger = Log4r::Logger.new("vagrant::util::downloader")
@source = source.to_s
@ -32,6 +36,7 @@ module Vagrant
"--fail",
"--location",
"--max-redirs", "10",
"--user-agent", USER_AGENT,
"--output", @destination
]

View File

@ -21,12 +21,14 @@ describe Vagrant::Util::Downloader do
end
describe "#download!" do
let(:curl_options) {
["--fail", "--location", "--max-redirs", "10", "--user-agent", described_class::USER_AGENT, "--output", destination, source, {}]
}
context "with a good exit status" do
let(:exit_code) { 0 }
it "downloads the file and returns true" do
curl_options = ["--fail", "--location", "--max-redirs", "10", "--output", destination, source, {}]
Vagrant::Util::Subprocess.should_receive(:execute).
with("curl", *curl_options).
and_return(subprocess_result)
@ -39,8 +41,6 @@ describe Vagrant::Util::Downloader do
let(:exit_code) { 1 }
it "raises an exception" do
curl_options = ["--fail", "--location", "--max-redirs", "10", "--output", destination, source, {}]
Vagrant::Util::Subprocess.should_receive(:execute).
with("curl", *curl_options).
and_return(subprocess_result)