internal static CloudRecordState CreateErrorStateFromCloudException(CloudException e, string errorId, object targetObject) { ErrorRecordState state = CreateErrorStateFromHttpStatusCode(e.Response.StatusCode); ErrorRecord er = RemoteAppCollectionErrorState.CreateErrorRecordFromException(e, errorId, targetObject, state.Category); CloudRecordState cloudRecord = new CloudRecordState() { state = state, er = er }; return(cloudRecord); }
internal static ErrorRecordState CreateErrorStateFromHttpStatusCode(HttpStatusCode status) { ErrorRecordState erStateToUse = erDefault; foreach (ErrorRecordState recordState in ErrorRecordStateTable) { if (status == recordState.Status) { erStateToUse = recordState; break; } } string exceptionMessage = String.Format("{0:T} - {1} in call to server HTTP Status: {2}", DateTime.Now, erStateToUse.ExceptionMessage, status); ErrorRecordState state = new ErrorRecordState() { Status = erStateToUse.Status, ExceptionMessage = exceptionMessage, Category = erStateToUse.Category }; if (state.Status == HttpStatusCode.BadRequest || state.Status == HttpStatusCode.RequestTimeout || state.Status == HttpStatusCode.NotFound || state.Status == HttpStatusCode.GatewayTimeout) { state.type = ExceptionType.NonTerminating; } else { state.type = ExceptionType.Terminating; } return(state); }
internal static ErrorRecordState CreateErrorStateFromHttpStatusCode(HttpStatusCode status) { ErrorRecordState erStateToUse = erDefault; foreach (ErrorRecordState recordState in ErrorRecordStateTable) { if (status == recordState.Status) { erStateToUse = recordState; break; } } string exceptionMessage = String.Format("{0:T} - {1} in call to server HTTP Status: {2}", DateTime.Now, erStateToUse.ExceptionMessage, status); ErrorRecordState state = new ErrorRecordState() { Status = erStateToUse.Status, ExceptionMessage = exceptionMessage, Category = erStateToUse.Category }; if (state.Status == HttpStatusCode.BadRequest || state.Status == HttpStatusCode.RequestTimeout || state.Status == HttpStatusCode.NotFound || state.Status == HttpStatusCode.GatewayTimeout) { state.type = ExceptionType.NonTerminating; } else { state.type = ExceptionType.Terminating; } return state; }