@@ -15,24 +15,20 @@ class NetworkException extends \Exception
1515{
1616 public function __construct (
1717 string $ message ,
18- ? string $ type = null ,
19- public ?int $ status = null
18+ public ? int $ status = null ,
19+ public ?\ Throwable $ previous = null
2020 ) {
21- if ($ this ->status !== null ) {
22- parent ::__construct ($ message . ' (HTTP ' . $ status . '/ ' . $ type . ') ' );
23- } else {
24- parent ::__construct ($ message );
25- }
21+ parent ::__construct ($ message , previous: $ this ->previous );
2622 }
2723
28- public static function create (string $ message , string $ type , int $ status ): self
24+ public static function create (string $ message , int $ status , ? \ Throwable $ previous = null ): self
2925 {
3026 $ message = empty ($ message ) ? 'No message was provided ' : $ message ;
3127 return match (true ) {
32- $ status === 401 || $ status === 429 => new AccountException ($ message , $ type , $ status ),
33- $ status >= 400 && $ status <= 499 => new ClientException ($ message , $ type , $ status ),
34- $ status >= 500 && $ status <= 599 => new ServerException ($ message , $ type , $ status ),
35- default => new self ($ message , $ type , $ status )
28+ $ status === 401 || $ status === 429 => new AccountException ($ message , $ status , $ previous ),
29+ $ status >= 400 && $ status <= 499 => new ClientException ($ message , $ status , $ previous ),
30+ $ status >= 500 && $ status <= 599 => new ServerException ($ message , $ status , $ previous ),
31+ default => new self ($ message , $ status , $ previous )
3632 };
3733 }
3834}
0 commit comments