Esempio n. 1
0
        //public WebSiteCloudException(
        //    string message,
        //    string code,
        //    Exception innerException)
        //    : base(message, innerException)
        //{
        //}

        /// <summary>
        /// Create a CloudException from a failed response.
        /// </summary>
        /// <param name="request">The HTTP request.</param>
        /// <param name="requestContent">The HTTP request content.</param>
        /// <param name="response">The HTTP response.</param>
        /// <param name="responseContent">The HTTP response content.</param>
        /// <param name="innerException">Optional inner exception.</param>
        /// <returns>A CloudException representing the failure.</returns>
        public static /*new*/ CloudException CreateResourceCloudExceptionTemporaryImplementation(
            HttpRequestMessage request,
            string requestContent,
            HttpResponseMessage response,
            string responseContent,
            Exception innerException = null)
        {
            Tuple <string, string> tuple = ParseResourceProviderJsonError(responseContent);
            string code    = tuple.Item1;
            string message = tuple.Item2;

            // Get the most descriptive message that we can
            string exceptionMessage =
                (code != null && message != null) ? code + ": " + message :
                (message != null) ? message :
                (code != null) ? code :
                (responseContent != null) ? responseContent :
                (response != null && response.ReasonPhrase != null) ? response.ReasonPhrase :
                (response != null) ? response.StatusCode.ToString() :
                new InvalidOperationException().Message;

            // Create the exception
            CloudException exception = new WebSiteCloudException(
                exceptionMessage,
                innerException);

            return(exception);
        }
        /// <summary>
        /// Create a CloudException from a failed response.
        /// </summary>
        /// <param name="request">The HTTP request.</param>
        /// <param name="requestContent">The HTTP request content.</param>
        /// <param name="response">The HTTP response.</param>
        /// <param name="responseContent">The HTTP response content.</param>
        /// <param name="innerException">Optional inner exception.</param>
        /// <returns>A CloudException representing the failure.</returns>
        public static /*new*/ CloudException CreateResourceCloudExceptionTemporaryImplementation(
            HttpRequestMessage request,
            string requestContent,
            HttpResponseMessage response,
            string responseContent,
            Exception innerException = null)
        {
            Tuple<string, string> tuple = ParseResourceProviderJsonError(responseContent);
            string code = tuple.Item1;
            string message = tuple.Item2;

            // Get the most descriptive message that we can
            string exceptionMessage =
                (code != null && message != null) ? code + ": " + message :
                (message != null) ? message :
                (code != null) ? code :
                (responseContent != null) ? responseContent :
                (response != null && response.ReasonPhrase != null) ? response.ReasonPhrase :
                (response != null) ? response.StatusCode.ToString() :
                new InvalidOperationException().Message;

            // Create the exception
            CloudException exception = new WebSiteCloudException(
                exceptionMessage,
                code,
                CloudHttpRequestErrorInfo.Create(request, requestContent),
                CloudHttpResponseErrorInfo.Create(response, responseContent),
                innerException);
            return exception;

        }