in cmd/checker/gcp.go [95:119]
func (tc *tokenCache) fetchToken() (*gcpToken, error) {
req, err := http.NewRequest("GET", tokenURL(tc.account), nil)
if err != nil {
return nil, err
}
req.Header.Set("Metadata-Flavor", "Google")
resp, err := http.DefaultClient.Do(req.WithContext(context.Background()))
if err != nil {
return nil, err
}
defer resp.Body.Close()
all, _ := ioutil.ReadAll(resp.Body)
if resp.StatusCode != http.StatusOK {
return nil, fmt.Errorf("%v failed (%d): %s", req, resp.StatusCode, string(all))
}
tok := &gcpToken{}
if err := json.Unmarshal(all, tok); err != nil {
return nil, fmt.Errorf("can't unmarshal %s: %v", string(all), err)
}
return tok, nil
}