func()

in msi/msi.go [56:82]


func (p *provider) getMsiHelper(queryParams map[string]string) (*Msi, error) {
	var msi = Msi{}
	requestUrl, err := url.Parse(GetMetadataIdentityURL())
	if err != nil {
		return &msi, err
	}
	urlQuery := requestUrl.Query()
	for key, value := range queryParams {
		urlQuery.Add(key, value)
	}
	requestUrl.RawQuery = urlQuery.Encode()

	code, body, err := p.httpClient.Get(requestUrl.String(), map[string]string{"Metadata": "true"})
	if err != nil {
		return &msi, err
	}

	if code != 200 {
		return &msi, errorhelper.AddStackToError(fmt.Errorf("unable to get msi, metadata service response code %v", code))
	}

	err = json.Unmarshal(body, &msi)
	if err != nil {
		return &msi, errorhelper.AddStackToError(fmt.Errorf("unable to deserialize metadata service response"))
	}
	return &msi, nil
}