public static bool TryCreateFromResponseHeaders(WebHeaderCollection webHeaderCollection, out RequestFailureContext requestFailureContext) { if (webHeaderCollection == null) { throw new ArgumentNullException("webHeaderCollection"); } return(RequestFailureContext.TryDeserialize(webHeaderCollection[RequestFailureContext.HeaderKey], out requestFailureContext)); }
public static bool TryCreateFromResponse(HttpWebResponse cafeResponse, out RequestFailureContext requestFailureContext) { if (cafeResponse == null) { throw new ArgumentNullException("cafeResponse"); } return(RequestFailureContext.TryCreateFromResponseHeaders(cafeResponse.Headers, out requestFailureContext)); }
private void Deserialize(string serializedFailureContext) { string[] array = serializedFailureContext.Split(new char[] { ';' }); int num = 0; if (array.Length >= 4) { string text = array[num++]; RequestFailureContext.RequestFailurePoint failurePoint; if (!Enum.TryParse <RequestFailureContext.RequestFailurePoint>(text, out failurePoint)) { failurePoint = RequestFailureContext.RequestFailurePoint.Unrecognized; this.UnrecognizedFailurePoint = text; } this.FailurePoint = failurePoint; this.HttpStatusCode = RequestFailureContext.ConvertStringToInt(array[num++]); this.Error = RequestFailureContext.ConvertStringFromBase64(array[num++]); this.Details = RequestFailureContext.ConvertStringFromBase64(array[num++]); if (array.Length >= 6) { HttpProxySubErrorCode value; if (!Enum.TryParse <HttpProxySubErrorCode>(array[num++], out value)) { this.HttpProxySubErrorCode = null; } else { this.HttpProxySubErrorCode = new HttpProxySubErrorCode?(value); } WebExceptionStatus value2; if (!Enum.TryParse <WebExceptionStatus>(array[num++], out value2)) { this.WebExceptionStatus = null; } else { this.WebExceptionStatus = new WebExceptionStatus?(value2); } } if (array.Length >= 7) { LiveIdAuthResult value3; if (!Enum.TryParse <LiveIdAuthResult>(array[num++], out value3)) { this.LiveIdAuthResult = null; return; } this.LiveIdAuthResult = new LiveIdAuthResult?(value3); } return; } throw new FormatException("Expected a minimum of 4 parameters."); }
public static bool TryDeserialize(string headerValue, out RequestFailureContext requestFailureContext) { requestFailureContext = null; if (!string.IsNullOrEmpty(headerValue)) { try { requestFailureContext = new RequestFailureContext(headerValue); return(true); } catch (FormatException) { } return(false); } return(false); }
public static bool TryCreateFromResponseHeaders(IDictionary <string, string> headerDictionary, out RequestFailureContext requestFailureContext) { if (headerDictionary == null) { throw new ArgumentNullException("headerDictionary"); } requestFailureContext = null; string headerValue; return(headerDictionary.TryGetValue(RequestFailureContext.HeaderKey, out headerValue) && RequestFailureContext.TryDeserialize(headerValue, out requestFailureContext)); }