private void WriteResponseToDebugWindow(int currentRetryIndex, int maxRetries, HttpResponseMessage httpResponseMessage)
{
try
{
Debug.WriteLine("RESPONSE");
if ((maxRetries > 1))
{
Debug.WriteLine("Retry Response " + (currentRetryIndex + 1));
}
Debug.WriteLine(
"-----------------------------------------------------------------------------------------------------" +
"\n\n");
Debug.WriteLine("Http Status Code: " + httpResponseMessage.StatusCode);
Debug.WriteLine("\n \n");
if (httpResponseMessage.Headers != null ||
(httpResponseMessage.Content != null && httpResponseMessage.Headers != null))
{
Debug.WriteLine("HEADERS");
if (httpResponseMessage.Headers != null)
{
foreach (var header in httpResponseMessage.Headers)
{
Debug.WriteLine(header.Key + ": " + header.Value.FirstOrDefault());
}
}
if (httpResponseMessage.Content != null && httpResponseMessage.Content.Headers != null)
{
foreach (var header in httpResponseMessage.Content.Headers)
{
Debug.WriteLine(header.Key + ": " + header.Value.FirstOrDefault());
}
}
Debug.WriteLine("\n \n");
}
if (httpResponseMessage.Content != null)
{
Debug.WriteLine("BODY");
Debug.WriteLine(httpResponseMessage.Content.Headers.ContentType.MediaType.Contains("image") ||
httpResponseMessage.Content.Headers.ContentType.MediaType.Contains("binary")
? "<image>"
: httpResponseMessage.Content.ReadAsStringAsync().Result);
Debug.WriteLine("\n \n");
}
Debug.WriteLine(
"=======================================================================================================");
Debug.WriteLine("\n \n");
Debug.WriteLine("\n \n");
}
catch (Exception)
{
// do not throw if logging fails
}
}