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
|
//Show captcha filling form to the viewer, proxying the captcha image
|
||||||
$img = base64_encode(getContents($captcha->find('img', 0)->src));
|
$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');
|
header('Content-Type: text/html');
|
||||||
$message = <<<EOD
|
$message = <<<EOD
|
||||||
<form method="post" action="?{$_SERVER['QUERY_STRING']}">
|
<form method="post" action="?{$_SERVER['QUERY_STRING']}">
|
||||||
|
|
|
@ -174,7 +174,7 @@ try {
|
||||||
$bridge->setCache($cache);
|
$bridge->setCache($cache);
|
||||||
$bridge->setDatas($params);
|
$bridge->setDatas($params);
|
||||||
} catch(Exception $e) {
|
} catch(Exception $e) {
|
||||||
header('HTTP/1.1 ' . $e->getCode() . ' ' . Http::getMessageForCode($e->getCode()));
|
http_response_code($e->getCode());
|
||||||
header('Content-Type: text/html');
|
header('Content-Type: text/html');
|
||||||
die(buildBridgeException($e, $bridge));
|
die(buildBridgeException($e, $bridge));
|
||||||
}
|
}
|
||||||
|
@ -186,7 +186,7 @@ try {
|
||||||
$format->setExtraInfos($bridge->getExtraInfos());
|
$format->setExtraInfos($bridge->getExtraInfos());
|
||||||
$format->display();
|
$format->display();
|
||||||
} catch(Exception $e) {
|
} catch(Exception $e) {
|
||||||
header('HTTP/1.1 ' . $e->getCode() . ' ' . Http::getMessageForCode($e->getCode()));
|
http_response_code($e->getCode());
|
||||||
header('Content-Type: text/html');
|
header('Content-Type: text/html');
|
||||||
die(buildTransformException($e, $bridge));
|
die(buildTransformException($e, $bridge));
|
||||||
}
|
}
|
||||||
|
@ -194,7 +194,7 @@ try {
|
||||||
die;
|
die;
|
||||||
}
|
}
|
||||||
} catch(HttpException $e) {
|
} catch(HttpException $e) {
|
||||||
header('HTTP/1.1 ' . $e->getCode() . ' ' . Http::getMessageForCode($e->getCode()));
|
http_response_code($e->getCode());
|
||||||
header('Content-Type: text/plain');
|
header('Content-Type: text/plain');
|
||||||
die($e->getMessage());
|
die($e->getMessage());
|
||||||
} catch(\Exception $e) {
|
} catch(\Exception $e) {
|
||||||
|
|
|
@ -1,64 +1,6 @@
|
||||||
<?php
|
<?php
|
||||||
class HttpException extends \Exception{}
|
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
|
* Returns an URL that automatically populates a new issue on GitHub based
|
||||||
* on the information provided
|
* on the information provided
|
||||||
|
|
Loading…
Reference in a new issue