in src/Microsoft.Azure.NotificationHubs/NotificationHubClient.cs [3367:3395]
private async Task<HttpResponseMessage> SendRequestAsync(HttpRequestMessage request, string trackingId, HttpStatusCode[] successfulResponseStatuses, CancellationToken cancellationToken)
{
try
{
var response = await _httpClient.SendAsync(request, HttpCompletionOption.ResponseContentRead, cancellationToken).ConfigureAwait(false);
if (!successfulResponseStatuses.Any(s => s.Equals(response.StatusCode)))
{
throw await response.TranslateToMessagingExceptionAsync(trackingId).ConfigureAwait(false);
}
return response;
}
catch (HttpRequestException ex)
{
var innerException = ex.GetBaseException();
if (innerException is SocketException socketException)
{
throw ExceptionsUtility.HandleSocketException(socketException, OperationTimeout.Milliseconds, trackingId);
}
else
{
throw ExceptionsUtility.HandleUnexpectedException(ex, trackingId);
}
}
catch (XmlException ex)
{
throw ExceptionsUtility.HandleXmlException(ex, trackingId);
}
}