mirror of
https://github.com/snipe/snipe-it.git
synced 2024-12-25 21:54:14 -08:00
Restore exeption handler functionality
Signed-off-by: snipe <snipe@snipe.net>
This commit is contained in:
parent
9e0e952576
commit
c08f70b03c
|
@ -13,7 +13,14 @@ class Handler extends ExceptionHandler
|
||||||
* @var array
|
* @var array
|
||||||
*/
|
*/
|
||||||
protected $dontReport = [
|
protected $dontReport = [
|
||||||
//
|
\Illuminate\Auth\AuthenticationException::class,
|
||||||
|
\Illuminate\Auth\Access\AuthorizationException::class,
|
||||||
|
\Symfony\Component\HttpKernel\Exception\HttpException::class,
|
||||||
|
\Illuminate\Database\Eloquent\ModelNotFoundException::class,
|
||||||
|
\Illuminate\Session\TokenMismatchException::class,
|
||||||
|
\Illuminate\Validation\ValidationException::class,
|
||||||
|
\Intervention\Image\Exception\NotSupportedException::class,
|
||||||
|
\League\OAuth2\Server\Exception\OAuthServerException::class,
|
||||||
];
|
];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -34,8 +41,49 @@ class Handler extends ExceptionHandler
|
||||||
*/
|
*/
|
||||||
public function register()
|
public function register()
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
$this->reportable(function (Throwable $e) {
|
$this->reportable(function (Throwable $e) {
|
||||||
//
|
|
||||||
});
|
// CSRF token mismatch error
|
||||||
|
if ($e instanceof \Illuminate\Session\TokenMismatchException) {
|
||||||
|
return redirect()->back()->with('error', trans('general.token_expired'));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Handle Ajax requests that fail because the model doesn't exist
|
||||||
|
if ($request->ajax() || $request->wantsJson()) {
|
||||||
|
|
||||||
|
|
||||||
|
if ($e instanceof \Illuminate\Database\Eloquent\ModelNotFoundException) {
|
||||||
|
$className = last(explode('\\', $e->getModel()));
|
||||||
|
return response()->json(Helper::formatStandardApiResponse('error', null, $className . ' not found'), 200);
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($this->isHttpException($e)) {
|
||||||
|
|
||||||
|
$statusCode = $e->getStatusCode();
|
||||||
|
|
||||||
|
switch ($e->getStatusCode()) {
|
||||||
|
case '404':
|
||||||
|
return response()->json(Helper::formatStandardApiResponse('error', null, $statusCode . ' endpoint not found'), 404);
|
||||||
|
case '405':
|
||||||
|
return response()->json(Helper::formatStandardApiResponse('error', null, 'Method not allowed'), 405);
|
||||||
|
default:
|
||||||
|
return response()->json(Helper::formatStandardApiResponse('error', null, $statusCode), 405);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if ($this->isHttpException($e) && (isset($statusCode)) && ($statusCode == '404' )) {
|
||||||
|
return response()->view('layouts/basic', [
|
||||||
|
'content' => view('errors/404')
|
||||||
|
],$statusCode);
|
||||||
|
}
|
||||||
|
|
||||||
|
return parent::render($request, $e);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue