public TResult Execute <TResult>(ICouchCommand couchCommand) { var restRequest = CreateRestRequestFrom(couchCommand); RestResponse <TResult> restResponse = null; try { restResponse = RestClient.Process <TResult>(restRequest, couchCommand.SuccessStatusCode); } catch (UnexpectedHttpResponseException e) { CommandErrorResult errorResult; if (!String.IsNullOrEmpty(e.RawResponse.Content)) { errorResult = Serializer.Deserialize <CommandErrorResult>(e.RawResponse.Content); } else { errorResult = new CommandErrorResult { Error = "Unexpected Exception", Reason = e.RawResponse.Error.Message }; } couchCommand.HandleError(RestClient.BaseUri.ToString(), errorResult, e); } return(restResponse.ContentDeserialized); }
public CannotDeleteDatabaseException(string databaseName, CommandErrorResult errorResult, UnexpectedHttpResponseException innerException) : base(String.Format(ExceptionMessageFormat, databaseName), errorResult, innerException) { }
public CannotConnectToServerException(string address, CommandErrorResult errorResult, UnexpectedHttpResponseException innerException) : base(String.Format(ExceptionMessageFormat, address), errorResult, innerException) { }
public CouchException(string message, CommandErrorResult errorResult, UnexpectedHttpResponseException innerException) : base(message, innerException) { CouchError = errorResult; }