Example #1
0
        private static void ThrowIfBadStatusCode(MailgunHttpResponse response)
        {
            if (response.StatusCode == HttpStatusCode.Unauthorized)
            {
                throw new AuthenticationException();
            }

            if (response.StatusCode >= HttpStatusCode.InternalServerError)
            {
                throw new Exception("Internal Server Error");
            }

            if (response.StatusCode >= HttpStatusCode.BadRequest)
            {
                throw new InvalidOperationException(response.Message);
            }
        }
Example #2
0
        private static void ThrowIfBadStatusCode(MailgunHttpResponse response)
        {
            switch (response.StatusCode)
            {
            case HttpStatusCode.Unauthorized:
                throw new AuthenticationException();

            case HttpStatusCode internalError when internalError >= HttpStatusCode.InternalServerError:
                var errorMessage = string.IsNullOrWhiteSpace(response?.Message)
                        ? "Internal Server Error"
                        : $"Internal Server Error: {response.Message}";
                throw new Exception(errorMessage);

            case HttpStatusCode badRequest when badRequest >= HttpStatusCode.BadRequest && !(response?.Message?.StartsWith("Great job!") ?? false):
                throw new InvalidOperationException(response.Message);
            }
        }
Example #3
0
 public override CommandResult TranslateResponse(MailgunHttpResponse response)
 {
     return(new CommandResult(response.Message));
 }
Example #4
0
 public override SendMailCommandResult TranslateResponse(MailgunHttpResponse response)
 {
     return(new SendMailCommandResult(response.Body.id.ToString(), response.Message));
 }
Example #5
0
 public override CreateRouteCommandResult TranslateResponse(MailgunHttpResponse response)
 {
     return(new CreateRouteCommandResult(response.Message, ((object)response.Body.route).ToRoute()));
 }
Example #6
0
 public abstract T TranslateResponse(MailgunHttpResponse response);