Provide a custom user agent header to cURL request so that URL shorteners are able to track the amount of downloads
This commit is contained in:
parent
e98e8bf9d7
commit
c7aed1a6a1
|
@ -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
|
||||
]
|
||||
|
||||
|
|
|
@ -25,7 +25,7 @@ describe Vagrant::Util::Downloader do
|
|||
let(:exit_code) { 0 }
|
||||
|
||||
it "downloads the file and returns true" do
|
||||
curl_options = ["--fail", "--location", "--max-redirs", "10", "--output", destination, source, {}]
|
||||
curl_options = ["--fail", "--location", "--max-redirs", "10", "--user-agent", described_class::USER_AGENT, "--output", destination, source, {}]
|
||||
|
||||
Vagrant::Util::Subprocess.should_receive(:execute).
|
||||
with("curl", *curl_options).
|
||||
|
@ -39,7 +39,7 @@ describe Vagrant::Util::Downloader do
|
|||
let(:exit_code) { 1 }
|
||||
|
||||
it "raises an exception" do
|
||||
curl_options = ["--fail", "--location", "--max-redirs", "10", "--output", destination, source, {}]
|
||||
curl_options = ["--fail", "--location", "--max-redirs", "10", "--user-agent", described_class::USER_AGENT, "--output", destination, source, {}]
|
||||
|
||||
Vagrant::Util::Subprocess.should_receive(:execute).
|
||||
with("curl", *curl_options).
|
||||
|
|
Loading…
Reference in New Issue