aboutsummaryrefslogtreecommitdiff
path: root/Emails.Transactional.Client/Exceptions
diff options
context:
space:
mode:
Diffstat (limited to 'Emails.Transactional.Client/Exceptions')
-rw-r--r--Emails.Transactional.Client/Exceptions/InvalidAuthorizationException.cs50
-rw-r--r--Emails.Transactional.Client/Exceptions/InvalidTransactionRequestException.cs52
-rw-r--r--Emails.Transactional.Client/Exceptions/InvalidTransactionResponseException.cs64
-rw-r--r--Emails.Transactional.Client/Exceptions/TransactionExceptionBase.cs59
-rw-r--r--Emails.Transactional.Client/Exceptions/ValidationFailedException.cs86
5 files changed, 0 insertions, 311 deletions
diff --git a/Emails.Transactional.Client/Exceptions/InvalidAuthorizationException.cs b/Emails.Transactional.Client/Exceptions/InvalidAuthorizationException.cs
deleted file mode 100644
index 2f31ad9..0000000
--- a/Emails.Transactional.Client/Exceptions/InvalidAuthorizationException.cs
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
-* Copyright (c) 2022 Vaughn Nugent
-*
-* Library: VNLib
-* Package: Emails.Transactional.Client
-* File: InvalidAuthorizationException.cs
-*
-* InvalidAuthorizationException.cs is part of Emails.Transactional.Client which is part of the larger
-* VNLib collection of libraries and utilities.
-*
-* Emails.Transactional.Client is free software: you can redistribute it and/or modify
-* it under the terms of the GNU General Public License as published
-* by the Free Software Foundation, either version 2 of the License,
-* or (at your option) any later version.
-*
-* Emails.Transactional.Client is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with Emails.Transactional.Client. If not, see http://www.gnu.org/licenses/.
-*/
-
-using System;
-
-using RestSharp;
-
-namespace Emails.Transactional.Client.Exceptions
-{
- /// <summary>
- /// A excption raised when an Authorization error occured
- /// during a request
- /// </summary>
- public class InvalidAuthorizationException : InvalidTransactionResponseException
- {
- ///<inheritdoc/>
- public InvalidAuthorizationException():base()
- {}
- ///<inheritdoc/>
- public InvalidAuthorizationException(string message) : base(message)
- {}
- ///<inheritdoc/>
- public InvalidAuthorizationException(string message, Exception innerException) : base(message, innerException)
- {}
- ///<inheritdoc/>
- public InvalidAuthorizationException(string message, RestResponse<TransactionResult> response) : base(message, response)
- {}
- }
-}
diff --git a/Emails.Transactional.Client/Exceptions/InvalidTransactionRequestException.cs b/Emails.Transactional.Client/Exceptions/InvalidTransactionRequestException.cs
deleted file mode 100644
index a841d92..0000000
--- a/Emails.Transactional.Client/Exceptions/InvalidTransactionRequestException.cs
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
-* Copyright (c) 2022 Vaughn Nugent
-*
-* Library: VNLib
-* Package: Emails.Transactional.Client
-* File: InvalidTransactionRequestException.cs
-*
-* InvalidTransactionRequestException.cs is part of Emails.Transactional.Client which is part of the larger
-* VNLib collection of libraries and utilities.
-*
-* Emails.Transactional.Client is free software: you can redistribute it and/or modify
-* it under the terms of the GNU General Public License as published
-* by the Free Software Foundation, either version 2 of the License,
-* or (at your option) any later version.
-*
-* Emails.Transactional.Client is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with Emails.Transactional.Client. If not, see http://www.gnu.org/licenses/.
-*/
-
-using System;
-using System.Runtime.Serialization;
-
-using RestSharp;
-
-namespace Emails.Transactional.Client.Exceptions
-{
- public class InvalidTransactionRequestException : TransactionExceptionBase
- {
- ///<inheritdoc/>
- public InvalidTransactionRequestException()
- {}
- ///<inheritdoc/>
- public InvalidTransactionRequestException(string message) : base(message)
- {}
- ///<inheritdoc/>
- public InvalidTransactionRequestException(string message, Exception innerException) : base(message, innerException)
- {}
- ///<inheritdoc/>
- protected InvalidTransactionRequestException(SerializationInfo info, StreamingContext context) : base(info, context)
- {}
-
- public InvalidTransactionRequestException(RestResponse response)
- {
- this.ErrorResponse = response;
- }
- }
-}
diff --git a/Emails.Transactional.Client/Exceptions/InvalidTransactionResponseException.cs b/Emails.Transactional.Client/Exceptions/InvalidTransactionResponseException.cs
deleted file mode 100644
index 100e351..0000000
--- a/Emails.Transactional.Client/Exceptions/InvalidTransactionResponseException.cs
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
-* Copyright (c) 2022 Vaughn Nugent
-*
-* Library: VNLib
-* Package: Emails.Transactional.Client
-* File: InvalidTransactionResponseException.cs
-*
-* InvalidTransactionResponseException.cs is part of Emails.Transactional.Client which is part of the larger
-* VNLib collection of libraries and utilities.
-*
-* Emails.Transactional.Client is free software: you can redistribute it and/or modify
-* it under the terms of the GNU General Public License as published
-* by the Free Software Foundation, either version 2 of the License,
-* or (at your option) any later version.
-*
-* Emails.Transactional.Client is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with Emails.Transactional.Client. If not, see http://www.gnu.org/licenses/.
-*/
-
-using System;
-using RestSharp;
-
-namespace Emails.Transactional.Client.Exceptions
-{
- /// <summary>
- /// Raised when the results of an email transaction
- /// failed. Inner exceptions may be set
- /// </summary>
- public class InvalidTransactionResponseException : TransactionExceptionBase
- {
- /// <summary>
- /// An error message received from the client
- /// </summary>
- public TransactionResult ErrorMessage { get; init; }
-
- ///<inheritdoc/>
- public InvalidTransactionResponseException()
- {}
- ///<inheritdoc/>
- public InvalidTransactionResponseException(string message) : base(message)
- {}
- ///<inheritdoc/>
- public InvalidTransactionResponseException(string message, Exception innerException) : base(message, innerException)
- {}
-
- /// <summary>
- /// Initializes a new <see cref="InvalidTransactionResponseException"/> with
- /// the response that contains the error
- /// </summary>
- /// <param name="message">The base exception message</param>
- /// <param name="response">The response that caused the error</param>
- public InvalidTransactionResponseException(string message, RestResponse<TransactionResult> response) : base(message, response.ErrorException)
- {
- this.ErrorResponse = response;
- //See if the server sent an error message
- this.ErrorMessage = response.Data;
- }
- }
-}
diff --git a/Emails.Transactional.Client/Exceptions/TransactionExceptionBase.cs b/Emails.Transactional.Client/Exceptions/TransactionExceptionBase.cs
deleted file mode 100644
index a442470..0000000
--- a/Emails.Transactional.Client/Exceptions/TransactionExceptionBase.cs
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
-* Copyright (c) 2022 Vaughn Nugent
-*
-* Library: VNLib
-* Package: Emails.Transactional.Client
-* File: TransactionExceptionBase.cs
-*
-* TransactionExceptionBase.cs is part of Emails.Transactional.Client which is part of the larger
-* VNLib collection of libraries and utilities.
-*
-* Emails.Transactional.Client is free software: you can redistribute it and/or modify
-* it under the terms of the GNU General Public License as published
-* by the Free Software Foundation, either version 2 of the License,
-* or (at your option) any later version.
-*
-* Emails.Transactional.Client is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with Emails.Transactional.Client. If not, see http://www.gnu.org/licenses/.
-*/
-
-using System;
-using System.Runtime.Serialization;
-
-using RestSharp;
-
-namespace Emails.Transactional.Client.Exceptions
-{
- /// <summary>
- /// A base exception for all client transaction excepions
- /// </summary>
- public class TransactionExceptionBase : Exception
- {
- ///<inheritdoc/>
- public TransactionExceptionBase()
- {}
- ///<inheritdoc/>
- public TransactionExceptionBase(string message) : base(message)
- {}
- ///<inheritdoc/>
- public TransactionExceptionBase(string message, Exception innerException) : base(message, innerException)
- {}
- ///<inheritdoc/>
- protected TransactionExceptionBase(SerializationInfo info, StreamingContext context) : base(info, context)
- {}
-
- /// <summary>
- /// The response objec that caused the exception
- /// </summary>
- public RestResponse ErrorResponse { get; init; }
- /// <summary>
- /// The string represenation of the response body
- /// </summary>
- public string ResultMessage => ErrorResponse.Content;
- }
-} \ No newline at end of file
diff --git a/Emails.Transactional.Client/Exceptions/ValidationFailedException.cs b/Emails.Transactional.Client/Exceptions/ValidationFailedException.cs
deleted file mode 100644
index d8f4bdf..0000000
--- a/Emails.Transactional.Client/Exceptions/ValidationFailedException.cs
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
-* Copyright (c) 2022 Vaughn Nugent
-*
-* Library: VNLib
-* Package: Emails.Transactional.Client
-* File: ValidationFailedException.cs
-*
-* ValidationFailedException.cs is part of Emails.Transactional.Client which is part of the larger
-* VNLib collection of libraries and utilities.
-*
-* Emails.Transactional.Client is free software: you can redistribute it and/or modify
-* it under the terms of the GNU General Public License as published
-* by the Free Software Foundation, either version 2 of the License,
-* or (at your option) any later version.
-*
-* Emails.Transactional.Client is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with Emails.Transactional.Client. If not, see http://www.gnu.org/licenses/.
-*/
-
-using System;
-using System.Linq;
-using System.Collections.Generic;
-using System.Text;
-
-#nullable enable
-
-namespace Emails.Transactional.Client.Exceptions
-{
- /// <summary>
- /// Raised when server message validation failed
- /// </summary>
- public class ValidationFailedException : InvalidTransactionRequestException
- {
- ///<inheritdoc/>
- public ValidationFailedException()
- {}
- ///<inheritdoc/>
- public ValidationFailedException(string message) : base(message)
- {}
- ///<inheritdoc/>
- public ValidationFailedException(string message, Exception innerException) : base(message, innerException)
- {}
-
- /// <summary>
- /// A collection of validaion error messages
- /// </summary>
- public ICollection<ValidationErrorMessage>? ValidationErrors { get; init; }
- /// <summary>
- ///
- /// </summary>
- /// <param name="result"></param>
- public ValidationFailedException(TransactionResult result):base("Transaction data server validation failed")
- {
- this.ValidationErrors = result?.ValidationErrors;
- }
-
- ///<inheritdoc/>
- public override string Message
- {
- get
- {
- if(ValidationErrors == null)
- {
- return base.Message;
-
- }
- StringBuilder sb = new(base.Message);
- sb.AppendLine();
-
- foreach(var kvp in ValidationErrors)
- {
- sb.Append("Validation error: ");
- sb.Append(kvp.PropertyName);
- sb.Append(' ');
- sb.AppendLine(kvp.ErrorMessage);
- }
- return sb.ToString();
- }
- }
- }
-}