mirror of https://github.com/helloxz/imgurl.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
36 lines
1.1 KiB
36 lines
1.1 KiB
<?php |
|
|
|
namespace Tinify; |
|
|
|
class Exception extends \Exception { |
|
public $status; |
|
|
|
public static function create($message, $type, $status) { |
|
if ($status == 401 || $status == 429) { |
|
$klass = "Tinify\AccountException"; |
|
} else if($status >= 400 && $status <= 499) { |
|
$klass = "Tinify\ClientException"; |
|
} else if($status >= 500 && $status <= 599) { |
|
$klass = "Tinify\ServerException"; |
|
} else { |
|
$klass = "Tinify\Exception"; |
|
} |
|
|
|
if (empty($message)) $message = "No message was provided"; |
|
return new $klass($message, $type, $status); |
|
} |
|
|
|
function __construct($message, $type = NULL, $status = NULL) { |
|
$this->status = $status; |
|
if ($status) { |
|
parent::__construct($message . " (HTTP " . $status . "/" . $type . ")"); |
|
} else { |
|
parent::__construct($message); |
|
} |
|
} |
|
} |
|
|
|
class AccountException extends Exception {} |
|
class ClientException extends Exception {} |
|
class ServerException extends Exception {} |
|
class ConnectionException extends Exception {}
|
|
|