in sdk/src/Core/Plugins/EC2Plugin.cs [123:154]
protected virtual string DoRequest(string url, HttpMethod method, Dictionary<string, string> headers = null)
{
var httpWebRequest = WebRequest.CreateHttp(url);
httpWebRequest.Timeout = 2000; // 2 seconds timeout
httpWebRequest.Method = method.Method;
if (headers != null)
{
foreach (var item in headers)
{
httpWebRequest.Headers.Add(item.Key, item.Value);
}
}
using(var response = (HttpWebResponse)httpWebRequest.GetResponse())
{
if (response.StatusCode < HttpStatusCode.OK || (int)response.StatusCode > 299)
{
throw new Exception("Unable to complete the request successfully");
}
var encoding = !string.IsNullOrEmpty(response.ContentEncoding)
? Encoding.GetEncoding(response.ContentEncoding)
: Encoding.UTF8;
using (var streamReader = new StreamReader(response.GetResponseStream(), encoding))
{
return streamReader.ReadToEnd();
}
}
}