Commit 65471b33 authored by Ad Schellevis's avatar Ad Schellevis Committed by GitHub

Merge pull request #1140 from pv2b/improve-api-exception-messages

Improve error messages for API calls
parents 9ed6406b 6839fe81
...@@ -59,13 +59,29 @@ class ApiControllerBase extends ControllerRoot ...@@ -59,13 +59,29 @@ class ApiControllerBase extends ControllerRoot
/** /**
* Raise errors, warnings, notices, etc. * Raise errors, warnings, notices, etc.
* @param $errno * @param $errno The first parameter, errno, contains the level of the
* @param $errstr * error raised, as an integer.
* @param $errstr The second parameter, errstr, contains the error
* message, as a string.
* @param $errfile The third parameter is optional, errfile, which
* contains the filename that the error was raised in, as
* a string.
* @param $errline The fourth parameter is optional, errline, which
* contains the line number the error was raised at, as an
* integer.
* @param $errcontext The fifth parameter is optional, errcontext, which
* is an array that points to the active symbol table
* at the point the error occurred. In other words,
* errcontext will contain an array of every variable
* that existed in the scope the error was triggered
* in. User error handler must not modify error
* context.
* @throws \Exception * @throws \Exception
*/ */
public function APIErrorHandler($errno, $errstr) public function APIErrorHandler($errno, $errstr, $errfile, $errline, $errcontext)
{ {
throw new \Exception($errstr . ' ['.$errno.']'); $msg = "Error at $errfile:$errline - $errstr (errno=$errno)";
throw new \Exception($msg);
} }
/** /**
......
...@@ -29,6 +29,6 @@ try { ...@@ -29,6 +29,6 @@ try {
$response = array(); $response = array();
$response['errorMessage'] = $e->getMessage(); $response['errorMessage'] = $e->getMessage();
header("Content-Type: application/json;charset=utf-8"); header("Content-Type: application/json;charset=utf-8");
echo htmlspecialchars(json_encode($response), ENT_NOQUOTES); echo json_encode($response, JSON_UNESCAPED_SLASHES);
error_log($e); error_log($e);
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment