exception: Use built-in HTTP response codes
PHP >= 5.4 provides a built-in function to generate valid HTTP error header including the error description: http_response_code() See: http://php.net/manual/en/function.http-response-code.php See also: https://stackoverflow.com/a/12018482 This commit removes the '\Http' utility class and replaces all calls to 'Http::getMessageForCode()' by 'http_response_code()'
This commit is contained in:
parent
62c190d841
commit
99e7e7876e
3 changed files with 4 additions and 62 deletions
|
@ -155,7 +155,7 @@ class FacebookBridge extends BridgeAbstract {
|
|||
|
||||
//Show captcha filling form to the viewer, proxying the captcha image
|
||||
$img = base64_encode(getContents($captcha->find('img', 0)->src));
|
||||
header('HTTP/1.1 500 ' . Http::getMessageForCode(500));
|
||||
http_response_code(500);
|
||||
header('Content-Type: text/html');
|
||||
$message = <<<EOD
|
||||
<form method="post" action="?{$_SERVER['QUERY_STRING']}">
|
||||
|
|
|
@ -174,7 +174,7 @@ try {
|
|||
$bridge->setCache($cache);
|
||||
$bridge->setDatas($params);
|
||||
} catch(Exception $e) {
|
||||
header('HTTP/1.1 ' . $e->getCode() . ' ' . Http::getMessageForCode($e->getCode()));
|
||||
http_response_code($e->getCode());
|
||||
header('Content-Type: text/html');
|
||||
die(buildBridgeException($e, $bridge));
|
||||
}
|
||||
|
@ -186,7 +186,7 @@ try {
|
|||
$format->setExtraInfos($bridge->getExtraInfos());
|
||||
$format->display();
|
||||
} catch(Exception $e) {
|
||||
header('HTTP/1.1 ' . $e->getCode() . ' ' . Http::getMessageForCode($e->getCode()));
|
||||
http_response_code($e->getCode());
|
||||
header('Content-Type: text/html');
|
||||
die(buildTransformException($e, $bridge));
|
||||
}
|
||||
|
@ -194,7 +194,7 @@ try {
|
|||
die;
|
||||
}
|
||||
} catch(HttpException $e) {
|
||||
header('HTTP/1.1 ' . $e->getCode() . ' ' . Http::getMessageForCode($e->getCode()));
|
||||
http_response_code($e->getCode());
|
||||
header('Content-Type: text/plain');
|
||||
die($e->getMessage());
|
||||
} catch(\Exception $e) {
|
||||
|
|
|
@ -1,64 +1,6 @@
|
|||
<?php
|
||||
class HttpException extends \Exception{}
|
||||
|
||||
/**
|
||||
* Not real http implementation but only utils stuff
|
||||
*/
|
||||
class Http{
|
||||
|
||||
/**
|
||||
* Return message corresponding to Http code
|
||||
*/
|
||||
static public function getMessageForCode($code){
|
||||
$codes = self::getCodes();
|
||||
|
||||
if(isset($codes[$code]))
|
||||
return $codes[$code];
|
||||
|
||||
return '';
|
||||
}
|
||||
|
||||
/**
|
||||
* List of common Http code
|
||||
*/
|
||||
static public function getCodes(){
|
||||
return array(
|
||||
200 => 'OK',
|
||||
201 => 'Created',
|
||||
202 => 'Accepted',
|
||||
300 => 'Multiple Choices',
|
||||
301 => 'Moved Permanently',
|
||||
302 => 'Moved Temporarily',
|
||||
307 => 'Temporary Redirect',
|
||||
310 => 'Too many Redirects',
|
||||
400 => 'Bad Request',
|
||||
401 => 'Unauthorized',
|
||||
402 => 'Payment Required',
|
||||
403 => 'Forbidden',
|
||||
404 => 'Not Found',
|
||||
405 => 'Method Not',
|
||||
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',
|
||||
500 => 'Internal Server Error',
|
||||
501 => 'Not Implemented',
|
||||
502 => 'Bad Gateway',
|
||||
503 => 'Service Unavailable',
|
||||
504 => 'Gateway Time-out',
|
||||
508 => 'Loop detected',
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns an URL that automatically populates a new issue on GitHub based
|
||||
* on the information provided
|
||||
|
|
Loading…
Reference in a new issue