send http status code accordingly to status
This commit is contained in:
@@ -7,6 +7,7 @@ use BSR\Lib\Exception\WebException;
|
||||
abstract class WebService
|
||||
{
|
||||
private $func = null;
|
||||
private $status = 200;
|
||||
|
||||
private $log = '';
|
||||
|
||||
@@ -40,10 +41,14 @@ abstract class WebService
|
||||
$data["error"]["code"] = $e->getCode();
|
||||
$data["error"]["name"] = $e->getName();
|
||||
$data["error"]["reason"] = $e->getMessage();
|
||||
$this->log(sprintf("Failure : [%s] %s", $e->getCode(), $e->getName()));
|
||||
$this->status = 400;
|
||||
|
||||
$this->log(sprintf("Error : [%s] %s", $e->getCode(), $e->getName()));
|
||||
} catch (\Exception $e) {
|
||||
$data["unexpected error"]["message"] = $e->getMessage();
|
||||
$this->log(sprintf("Unexpected exception : %s", $e->getMessage()));
|
||||
$data["failure"]["message"] = $e->getMessage();
|
||||
$this->status = 500;
|
||||
|
||||
$this->log(sprintf("Failure : %s", $e->getMessage()));
|
||||
}
|
||||
|
||||
$this->Send($data);
|
||||
@@ -98,6 +103,16 @@ abstract class WebService
|
||||
|
||||
private function Send(array $data)
|
||||
{
|
||||
static $status_messages = array(
|
||||
200 => 'Ok',
|
||||
400 => 'Bad request',
|
||||
404 => 'Not Found',
|
||||
403 => 'Not Authorized',
|
||||
500 => 'Server Error',
|
||||
);
|
||||
|
||||
header(sprintf('HTTP/1.0 %s %s', $this->status, $status_messages[$this->status]));
|
||||
|
||||
ob_clean();
|
||||
flush();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user