in IMDSSample.cs [114:140]
private static async Task<string> QueryImds(string path, string apiVersion, string otherParams)
{
string imdsUri = path + "?api-version=" + apiVersion;
if (otherParams != null &&
!otherParams.Equals(string.Empty))
{
imdsUri += "&" + otherParams;
}
string jsonResult = string.Empty;
using (var httpClient = new HttpClient())
{
// IMDS requires bypassing proxies.
WebProxy proxy = new WebProxy();
HttpClient.DefaultProxy = proxy;
httpClient.DefaultRequestHeaders.Add("Metadata", "True");
try
{
jsonResult = await httpClient.GetStringAsync(imdsUri);
}
catch (AggregateException ex)
{
// Handle response failures
Console.WriteLine("Request failed: " + ex.GetBaseException());
}
}
return jsonResult;
}