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 {}
 | |
| 
 |