106 lines
2.1 KiB
PHP
106 lines
2.1 KiB
PHP
|
<?php
|
||
|
/**
|
||
|
* Throwable exceptions to return HTTP status code
|
||
|
*
|
||
|
* This list of Exception has be extracted from
|
||
|
* here http://racksburg.com/choosing-an-http-status-code/
|
||
|
*/
|
||
|
|
||
|
class HTTPException extends Exception {
|
||
|
var $httpcode = 200;
|
||
|
var $httpdesc = "";
|
||
|
public function __construct($message="", $code = 0, Exception $previous = null) {
|
||
|
if ($this->httpdesc=="") {
|
||
|
$this->httpdesc = preg_replace("|([a-z])([A-Z])|",'$1 $2', str_replace("Exception","",get_class($this)));
|
||
|
}
|
||
|
parent::__construct($message, $code, $previous);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
// 4xx
|
||
|
class TooManyRequestsException extends HTTPException {
|
||
|
var $httpcode = 429;
|
||
|
}
|
||
|
|
||
|
class UnauthorizedException extends HTTPException {
|
||
|
var $httpcode = 401;
|
||
|
}
|
||
|
|
||
|
class ForbiddenException extends HTTPException {
|
||
|
var $httpcode = 403;
|
||
|
}
|
||
|
|
||
|
class NotFoundException extends HTTPException {
|
||
|
var $httpcode = 404;
|
||
|
}
|
||
|
|
||
|
class GoneException extends HTTPException {
|
||
|
var $httpcode = 410;
|
||
|
}
|
||
|
|
||
|
class MethodNotAllowedException extends HTTPException {
|
||
|
var $httpcode = 405;
|
||
|
}
|
||
|
|
||
|
class NonAcceptableException extends HTTPException {
|
||
|
var $httpcode = 406;
|
||
|
}
|
||
|
|
||
|
class LenghtRequiredException extends HTTPException {
|
||
|
var $httpcode = 411;
|
||
|
}
|
||
|
|
||
|
class PreconditionFailedException extends HTTPException {
|
||
|
var $httpcode = 412;
|
||
|
}
|
||
|
|
||
|
class UnsupportedMediaTypeException extends HTTPException {
|
||
|
var $httpcode = 415;
|
||
|
}
|
||
|
|
||
|
class ExpetationFailesException extends HTTPException {
|
||
|
var $httpcode = 417;
|
||
|
}
|
||
|
|
||
|
class ConflictException extends HTTPException {
|
||
|
var $httpcode = 409;
|
||
|
}
|
||
|
|
||
|
class UnprocessableEntityException extends HTTPException {
|
||
|
var $httpcode = 422;
|
||
|
}
|
||
|
|
||
|
class ImATeapotException extends HTTPException {
|
||
|
var $httpcode = 418;
|
||
|
var $httpdesc = "I'm A Teapot";
|
||
|
}
|
||
|
|
||
|
class BadRequestException extends HTTPException {
|
||
|
var $httpcode = 400;
|
||
|
}
|
||
|
|
||
|
// 5xx
|
||
|
|
||
|
class ServiceUnavaiableException extends HTTPException {
|
||
|
var $httpcode = 503;
|
||
|
}
|
||
|
|
||
|
class BadGatewayException extends HTTPException {
|
||
|
var $httpcode = 502;
|
||
|
}
|
||
|
|
||
|
class GatewayTimeoutException extends HTTPException {
|
||
|
var $httpcode = 504;
|
||
|
}
|
||
|
|
||
|
class NotImplementedException extends HTTPException {
|
||
|
var $httpcode = 501;
|
||
|
}
|
||
|
|
||
|
class InternalServerErrorException extends HTTPException {
|
||
|
var $httpcode = 500;
|
||
|
}
|
||
|
|
||
|
|
||
|
|