diff --git a/lib/googleauth/compute_engine.rb b/lib/googleauth/compute_engine.rb index 5d50d6b..a3b0eb8 100644 --- a/lib/googleauth/compute_engine.rb +++ b/lib/googleauth/compute_engine.rb @@ -62,7 +62,8 @@ module Google # is available def on_gce? options = {} c = options[:connection] || Faraday.default_connection - resp = c.get COMPUTE_CHECK_URI do |req| + headers = { "Metadata-Flavor" => "Google" } + resp = c.get COMPUTE_CHECK_URI, nil, headers do |req| # Comment from: oauth2client/client.py # # Note: the explicit `timeout` below is a workaround. The underlying diff --git a/spec/googleauth/compute_engine_spec.rb b/spec/googleauth/compute_engine_spec.rb index 6429405..9416757 100644 --- a/spec/googleauth/compute_engine_spec.rb +++ b/spec/googleauth/compute_engine_spec.rb @@ -97,6 +97,7 @@ describe Google::Auth::GCECredentials do describe "#on_gce?" do it "should be true when Metadata-Flavor is Google" do stub = stub_request(:get, "http://169.254.169.254") + .with(headers: { "Metadata-Flavor" => "Google" }) .to_return(status: 200, headers: { "Metadata-Flavor" => "Google" }) expect(GCECredentials.on_gce?({}, true)).to eq(true) @@ -105,6 +106,7 @@ describe Google::Auth::GCECredentials do it "should be false when Metadata-Flavor is not Google" do stub = stub_request(:get, "http://169.254.169.254") + .with(headers: { "Metadata-Flavor" => "Google" }) .to_return(status: 200, headers: { "Metadata-Flavor" => "NotGoogle" }) expect(GCECredentials.on_gce?({}, true)).to eq(false) @@ -113,6 +115,7 @@ describe Google::Auth::GCECredentials do it "should be false if the response is not 200" do stub = stub_request(:get, "http://169.254.169.254") + .with(headers: { "Metadata-Flavor" => "Google" }) .to_return(status: 404, headers: { "Metadata-Flavor" => "NotGoogle" }) expect(GCECredentials.on_gce?({}, true)).to eq(false)