Only generate notice once
This commit is contained in:
parent
f2bf18e56b
commit
fc5ceafbcf
|
@ -13,6 +13,18 @@ module VagrantPlugins
|
||||||
TARGET_HOST = "vagrantcloud.com".freeze
|
TARGET_HOST = "vagrantcloud.com".freeze
|
||||||
CUSTOM_HOST_NOTIFY_WAIT = 5
|
CUSTOM_HOST_NOTIFY_WAIT = 5
|
||||||
|
|
||||||
|
def self.custom_host_notified!
|
||||||
|
@_host_notify = true
|
||||||
|
end
|
||||||
|
|
||||||
|
def self.custom_host_notified?
|
||||||
|
if defined?(@_host_notify)
|
||||||
|
@_host_notify
|
||||||
|
else
|
||||||
|
false
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
def initialize(app, env)
|
def initialize(app, env)
|
||||||
@app = app
|
@app = app
|
||||||
LoginCommand::Plugin.init!
|
LoginCommand::Plugin.init!
|
||||||
|
@ -33,16 +45,17 @@ module VagrantPlugins
|
||||||
server_uri = URI.parse(Vagrant.server_url.to_s)
|
server_uri = URI.parse(Vagrant.server_url.to_s)
|
||||||
|
|
||||||
if token && !server_uri.host.to_s.empty?
|
if token && !server_uri.host.to_s.empty?
|
||||||
if server_uri.host != TARGET_HOST
|
|
||||||
env[:ui].warn(I18n.t("login_command.middleware.authentication.different_target",
|
|
||||||
custom_host: server_uri.host, known_host: TARGET_HOST) + "\n")
|
|
||||||
sleep CUSTOM_HOST_NOTIFY_WAIT
|
|
||||||
end
|
|
||||||
|
|
||||||
env[:box_urls].map! do |url|
|
env[:box_urls].map! do |url|
|
||||||
u = URI.parse(url)
|
u = URI.parse(url)
|
||||||
|
|
||||||
if u.host == server_uri.host
|
if u.host == server_uri.host
|
||||||
|
if server_uri.host != TARGET_HOST && !self.class.custom_host_notified?
|
||||||
|
env[:ui].warn(I18n.t("login_command.middleware.authentication.different_target",
|
||||||
|
custom_host: server_uri.host, known_host: TARGET_HOST) + "\n")
|
||||||
|
sleep CUSTOM_HOST_NOTIFY_WAIT
|
||||||
|
self.class.custom_host_notified!
|
||||||
|
end
|
||||||
|
|
||||||
q = CGI.parse(u.query || "")
|
q = CGI.parse(u.query || "")
|
||||||
|
|
||||||
current = q["access_token"]
|
current = q["access_token"]
|
||||||
|
|
|
@ -97,11 +97,13 @@ describe VagrantPlugins::LoginCommand::AddAuthentication do
|
||||||
original = [
|
original = [
|
||||||
"http://google.com/box.box",
|
"http://google.com/box.box",
|
||||||
"http://vagrantcloud.com/foo.box",
|
"http://vagrantcloud.com/foo.box",
|
||||||
"http://example.com/bar.box"
|
"http://example.com/bar.box",
|
||||||
|
"http://example.com/foo.box"
|
||||||
]
|
]
|
||||||
|
|
||||||
expected = original.dup
|
expected = original.dup
|
||||||
expected.last.replace(expected.last + "?access_token=#{token}")
|
expected[2] = expected[2] + "?access_token=#{token}"
|
||||||
|
expected[3] = expected[3] + "?access_token=#{token}"
|
||||||
|
|
||||||
expect(subject).to receive(:sleep).once
|
expect(subject).to receive(:sleep).once
|
||||||
expect(ui).to receive(:warn).once
|
expect(ui).to receive(:warn).once
|
||||||
|
|
Loading…
Reference in New Issue