private HttpWebServiceException(HttpWebServiceExceptionStatus status, Exception ex, string url, string message) : base(message, ex) { _status = status; _url = url; }
private HttpWebServiceException(HttpWebServiceExceptionStatus status, Exception ex, string url, string message) : base(message, ex) { _status = status; _url = url; }
/// <summary> /// Parses a web exception to get an error message and a <see cref="HttpWebServiceExceptionStatus"/> status code. /// </summary> /// <param name="ex"></param> /// <param name="url"></param> /// <param name="proxyHost"></param> /// <param name="status"></param> /// <returns></returns> public static string ParseWebException(WebException ex, string url, string proxyHost, out HttpWebServiceExceptionStatus status) { var messageBuilder = new StringBuilder(); switch (ex.Status) { case WebExceptionStatus.ProtocolError: HttpWebResponse response = (HttpWebResponse)ex.Response; switch (response.StatusCode) { case HttpStatusCode.ProxyAuthenticationRequired: status = HttpWebServiceExceptionStatus.ProxyError; messageBuilder.AppendFormat( ExceptionMessages.ProxyAuthenticationFailure, proxyHost, GetHostName(url)); break; default: status = HttpWebServiceExceptionStatus.ServerError; messageBuilder.AppendFormat(ExceptionMessages.ServerError, GetHostName(url)); messageBuilder.AppendLine(response.StatusDescription); break; } break; case WebExceptionStatus.ProxyNameResolutionFailure: status = HttpWebServiceExceptionStatus.ProxyError; messageBuilder.AppendFormat( ExceptionMessages.ProxyNameResolutionFailure, proxyHost); break; case WebExceptionStatus.RequestProhibitedByProxy: status = HttpWebServiceExceptionStatus.ProxyError; messageBuilder.AppendFormat(ExceptionMessages.RequestProhibitedByProxy, GetHostName(url), proxyHost); break; case WebExceptionStatus.NameResolutionFailure: status = HttpWebServiceExceptionStatus.NameResolutionFailure; messageBuilder.AppendFormat(ExceptionMessages.NameResolutionFailure, proxyHost); break; case WebExceptionStatus.ConnectFailure: status = HttpWebServiceExceptionStatus.ConnectFailure; messageBuilder.AppendFormat(ExceptionMessages.ConnectFailure, GetHostName(url)); break; case WebExceptionStatus.Timeout: status = HttpWebServiceExceptionStatus.Timeout; messageBuilder.AppendFormat(ExceptionMessages.Timeout, GetHostName(url)); break; default: status = HttpWebServiceExceptionStatus.WebException; messageBuilder.AppendFormat(ExceptionMessages.UnknownWebException, GetHostName(url), ex.Status); break; } return(messageBuilder.ToString()); }
/// <summary> /// Parses a web exception to get an error message and a <see cref="HttpWebServiceExceptionStatus"/> status code. /// </summary> /// <param name="ex"></param> /// <param name="url"></param> /// <param name="proxyHost"></param> /// <param name="status"></param> /// <returns></returns> public static string ParseWebException(WebException ex, string url, string proxyHost, out HttpWebServiceExceptionStatus status) { var messageBuilder = new StringBuilder(); switch (ex.Status) { case WebExceptionStatus.ProtocolError: HttpWebResponse response = (HttpWebResponse)ex.Response; switch (response.StatusCode) { case HttpStatusCode.ProxyAuthenticationRequired: status = HttpWebServiceExceptionStatus.ProxyError; messageBuilder.AppendFormat( ExceptionMessages.ProxyAuthenticationFailure, proxyHost, GetHostName(url)); break; default: status = HttpWebServiceExceptionStatus.ServerError; messageBuilder.AppendFormat(ExceptionMessages.ServerError, GetHostName(url)); messageBuilder.AppendLine(response.StatusDescription); break; } break; case WebExceptionStatus.ProxyNameResolutionFailure: status = HttpWebServiceExceptionStatus.ProxyError; messageBuilder.AppendFormat( ExceptionMessages.ProxyNameResolutionFailure, proxyHost); break; case WebExceptionStatus.RequestProhibitedByProxy: status = HttpWebServiceExceptionStatus.ProxyError; messageBuilder.AppendFormat(ExceptionMessages.RequestProhibitedByProxy, GetHostName(url), proxyHost); break; case WebExceptionStatus.NameResolutionFailure: status = HttpWebServiceExceptionStatus.NameResolutionFailure; messageBuilder.AppendFormat(ExceptionMessages.NameResolutionFailure, proxyHost); break; case WebExceptionStatus.ConnectFailure: status = HttpWebServiceExceptionStatus.ConnectFailure; messageBuilder.AppendFormat(ExceptionMessages.ConnectFailure, GetHostName(url)); break; case WebExceptionStatus.Timeout: status = HttpWebServiceExceptionStatus.Timeout; messageBuilder.AppendFormat(ExceptionMessages.Timeout, GetHostName(url)); break; default: status = HttpWebServiceExceptionStatus.WebException; messageBuilder.AppendFormat(ExceptionMessages.UnknownWebException, GetHostName(url), ex.Status); break; } return messageBuilder.ToString(); }