private async Task SendRequestAsync()

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);
            }
        }