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.
		
		
		
		
		
			
		
			
				
					
					
						
							108 lines
						
					
					
						
							3.0 KiB
						
					
					
				
			
		
		
	
	
							108 lines
						
					
					
						
							3.0 KiB
						
					
					
				| <?php | |
| /** | |
|  * @link http://www.yiiframework.com/ | |
|  * @copyright Copyright (c) 2008 Yii Software LLC | |
|  * @license http://www.yiiframework.com/license/ | |
|  */ | |
|  | |
| namespace yii\base; | |
|  | |
| /** | |
|  * HttpException represents an exception caused by an improper request of the end-user. | |
|  * | |
|  * HttpException can be differentiated via its [[statusCode]] property value which | |
|  * keeps a standard HTTP status code (e.g. 404, 500). Error handlers may use this status code | |
|  * to decide how to format the error page. | |
|  * | |
|  * @author Qiang Xue <qiang.xue@gmail.com> | |
|  * @since 2.0 | |
|  */ | |
| class HttpException extends UserException | |
| { | |
| 	/** | |
| 	 * @var integer HTTP status code, such as 403, 404, 500, etc. | |
| 	 */ | |
| 	public $statusCode; | |
|  | |
| 	/** | |
| 	 * Constructor. | |
| 	 * @param integer $status HTTP status code, such as 404, 500, etc. | |
| 	 * @param string $message error message | |
| 	 * @param integer $code error code | |
| 	 * @param \Exception $previous The previous exception used for the exception chaining. | |
| 	 */ | |
| 	public function __construct($status, $message = null, $code = 0, \Exception $previous = null) | |
| 	{ | |
| 		$this->statusCode = $status; | |
| 		parent::__construct($message, $code, $previous); | |
| 	} | |
|  | |
| 	/** | |
| 	 * @return string the user-friendly name of this exception | |
| 	 */ | |
| 	public function getName() | |
| 	{ | |
| 		static $httpCodes = array( | |
| 			100 => 'Continue', | |
| 			101 => 'Switching Protocols', | |
| 			102 => 'Processing', | |
| 			118 => 'Connection timed out', | |
| 			200 => 'OK', | |
| 			201 => 'Created', | |
| 			202 => 'Accepted', | |
| 			203 => 'Non-Authoritative', | |
| 			204 => 'No Content', | |
| 			205 => 'Reset Content', | |
| 			206 => 'Partial Content', | |
| 			207 => 'Multi-Status', | |
| 			210 => 'Content Different', | |
| 			300 => 'Multiple Choices', | |
| 			301 => 'Moved Permanently', | |
| 			302 => 'Found', | |
| 			303 => 'See Other', | |
| 			304 => 'Not Modified', | |
| 			305 => 'Use Proxy', | |
| 			307 => 'Temporary Redirect', | |
| 			310 => 'Too many Redirect', | |
| 			400 => 'Bad Request', | |
| 			401 => 'Unauthorized', | |
| 			402 => 'Payment Required', | |
| 			403 => 'Forbidden', | |
| 			404 => 'Not Found', | |
| 			405 => 'Method Not Allowed', | |
| 			406 => 'Not Acceptable', | |
| 			407 => 'Proxy Authentication Required', | |
| 			408 => 'Request Time-out', | |
| 			409 => 'Conflict', | |
| 			410 => 'Gone', | |
| 			411 => 'Length Required', | |
| 			412 => 'Precondition Failed', | |
| 			413 => 'Request Entity Too Large', | |
| 			414 => 'Request-URI Too Long', | |
| 			415 => 'Unsupported Media Type', | |
| 			416 => 'Requested range unsatisfiable', | |
| 			417 => 'Expectation failed', | |
| 			418 => 'I’m a teapot', | |
| 			422 => 'Unprocessable entity', | |
| 			423 => 'Locked', | |
| 			424 => 'Method failure', | |
| 			425 => 'Unordered Collection', | |
| 			426 => 'Upgrade Required', | |
| 			449 => 'Retry With', | |
| 			450 => 'Blocked by Windows Parental Controls', | |
| 			500 => 'Internal Server Error', | |
| 			501 => 'Not Implemented', | |
| 			502 => 'Bad Gateway ou Proxy Error', | |
| 			503 => 'Service Unavailable', | |
| 			504 => 'Gateway Time-out', | |
| 			505 => 'HTTP Version not supported', | |
| 			507 => 'Insufficient storage', | |
| 			509 => 'Bandwidth Limit Exceeded', | |
| 		); | |
|  | |
| 		if(isset($httpCodes[$this->statusCode])) | |
| 			return $httpCodes[$this->statusCode]; | |
| 		else | |
| 			return \Yii::t('yii|Error'); | |
| 	} | |
| }
 | |
| 
 |