mirror of
https://github.com/skipperbent/simple-php-router.git
synced 2026-06-15 18:23:26 +03:00
- Fixed updatae causing middlewares to sometimes load on wrong routes. - Converted project to PSR/2. - Updated InputCollection class and added get method for easy access to values. - Complete refactor of RouterBase. - Added findRoute method to RouterBase. - It's now possible to change parameter modifiers and symbol by overwriting properties on RouterBase. - Added RouterUrlTest unit-test for testing route-urls. - Added IRestController that can be easily implemented in custom ResourceController-classes. - It's now possible to use "-" instead of "_" when using getHeader method in Request class. - Added PHPDocs. - Fixed "/" route sometimes returning "//" as url. - Optimisations and bugfixes.
34 lines
725 B
PHP
34 lines
725 B
PHP
<?php
|
|
namespace Demo\Handlers;
|
|
|
|
use Pecee\Handler\IExceptionHandler;
|
|
use Pecee\Http\Request;
|
|
use Pecee\SimpleRouter\RouterEntry;
|
|
|
|
class CustomExceptionHandler implements IExceptionHandler
|
|
{
|
|
public function handleError(Request $request, RouterEntry &$route = null, \Exception $error)
|
|
{
|
|
// Return json errors if we encounter an error on /api.
|
|
if (stripos($request->getUri(), '/api') !== false) {
|
|
header('content-type: application/json');
|
|
echo json_encode([
|
|
'error' => $error->getMessage(),
|
|
'code' => $error->getCode()
|
|
]);
|
|
die();
|
|
}
|
|
|
|
// else we just throw the error
|
|
if ($error->getCode() == 404) {
|
|
|
|
// Return 404 path
|
|
$request->setUri('/404');
|
|
return $request;
|
|
|
|
}
|
|
|
|
throw $error;
|
|
}
|
|
|
|
} |