private ObsException ParseObsException(HttpResponse response, string message, Exception ex, HttpContext context) { ObsException exception = new ObsException(message, ex); if (response != null) { exception.StatusCode = response.StatusCode; try { CommonParser.ParseErrorResponse(response.Content, exception); } catch (Exception ee) { if (LoggerMgr.IsErrorEnabled) { LoggerMgr.Error(ee.Message, ee); } } string temp; if (response.Headers.TryGetValue(this.GetIHeaders(context).RequestId2Header(), out temp)) { exception.ObsId2 = temp; } if (string.IsNullOrEmpty(exception.RequestId) && response.Headers.TryGetValue(this.GetIHeaders(context).RequestIdHeader(), out temp)) { exception.RequestId = temp; } response.Abort(); } exception.ErrorType = ErrorType.Receiver; return(exception); }
private ObsException ParseObsException(HttpResponse response, string message, Exception ex, HttpContext context) { ObsException exception = new ObsException(message, ex); if (response != null) { exception.StatusCode = response.StatusCode; string temp; try { if (response.Content.Length > 0) { CommonParser.ParseErrorResponse(response.Content, exception); } else if (response.Headers.ContainsKey(Constants.ObsHeadErrorCode) && response.Headers.ContainsKey(Constants.ObsHeadErrorMessage)) { response.Headers.TryGetValue(Constants.ObsHeadErrorCode, out temp); exception.ErrorCode = temp; response.Headers.TryGetValue(Constants.ObsHeadErrorMessage, out temp); exception.ErrorMessage = temp; } else { exception.ErrorCode = response.StatusCode.ToString(); exception.ErrorMessage = response.Failure.Message; } } catch (Exception ee) { exception.ErrorMessage = ee.Message; if (LoggerMgr.IsErrorEnabled) { LoggerMgr.Error(ee.Message, ee); } } if (response.Headers.TryGetValue(this.GetIHeaders(context).RequestId2Header(), out temp)) { exception.ObsId2 = temp; } if (string.IsNullOrEmpty(exception.RequestId) && response.Headers.TryGetValue(this.GetIHeaders(context).RequestIdHeader(), out temp)) { exception.RequestId = temp; } response.Abort(); } exception.ErrorType = ErrorType.Receiver; return(exception); }