Beispiel #1
0
        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)
 {
 }
Beispiel #3
0
 public CannotConnectToServerException(string address, CommandErrorResult errorResult, UnexpectedHttpResponseException innerException) :
     base(String.Format(ExceptionMessageFormat, address), errorResult, innerException)
 {
 }
Beispiel #4
0
 public CouchException(string message, CommandErrorResult errorResult, UnexpectedHttpResponseException innerException)
     : base(message, innerException)
 {
     CouchError = errorResult;
 }