11<?php
2+
3+ declare (strict_types=1 );
4+
25namespace Mailjet \LaravelMailjet \Exception ;
36
7+ use Throwable ;
48use \Mailjet \Response ;
59
6- /**
7- * Handle Mailjet API errors
8- */
910class MailjetException extends \Exception
1011{
11- /**
12- * @var int
13- */
14- private $ statusCode ;
1512 /**
1613 * @var string
1714 */
1815 private $ errorInfo ;
16+
1917 /**
2018 * @var string
2119 */
2220 private $ errorMessage ;
21+
2322 /**
2423 * @var string
2524 */
2625 private $ errorIdentifier ;
26+
2727 /**
2828 * https://dev.mailjet.com/guides/#about-the-mailjet-restful-api
29+ *
2930 * @param Response $response
3031 * @param \Throwable $previous
3132 */
32- public function __construct ($ statusCode= 0 , $ message= null , Response $ response= null , \ Throwable $ previous= null )
33+ public function __construct ($ statusCode = 0 , $ message = null , Response $ response = null , Throwable $ previous = null )
3334 {
34- // if you pass a Mailjet\Response
3535 if ($ response ) {
3636 $ statusCode = $ response ->getStatus ();
37- $ message = sprintf ('%s: %s ' , $ message , $ response ->getReasonPhrase ());
37+ $ message = "{$ message }: {$ response ->getReasonPhrase ()}" ;
38+
3839 $ this ->setErrorFromResponse ($ response );
3940 }
41+
4042 parent ::__construct ($ message , $ statusCode , $ previous );
4143 }
4244 /**
43- * Configure MailjetException from Mailjet\Response
44- * @method setErrorFromResponse
45+ * Configure MailjetException from Mailjet\Response.
46+ *
4547 * @param Response $response
4648 */
47- private function setErrorFromResponse (Response $ response )
49+ private function setErrorFromResponse (Response $ response ): void
4850 {
49- $ this ->statusCode = $ response ->getStatus ();
5051 $ body = $ response ->getBody ();
52+
5153 if (isset ($ body ['ErrorInfo ' ])) {
5254 $ this ->errorInfo = $ body ['ErrorInfo ' ];
5355 }
@@ -58,24 +60,27 @@ private function setErrorFromResponse(Response $response)
5860 $ this ->errorIdentifier = $ body ['ErrorIdentifier ' ];
5961 }
6062 }
63+
6164 /**
6265 * @return string
6366 */
64- public function getErrorInfo ()
67+ public function getErrorInfo (): string
6568 {
6669 return $ this ->errorInfo ;
6770 }
71+
6872 /**
6973 * @return string
7074 */
71- public function getErrorMessage ()
75+ public function getErrorMessage (): string
7276 {
7377 return $ this ->errorMessage ;
7478 }
79+
7580 /**
7681 * @return string
7782 */
78- public function getErrorIdentifier ()
83+ public function getErrorIdentifier (): string
7984 {
8085 return $ this ->errorIdentifier ;
8186 }
0 commit comments