getStatusCode() == 403) { return redirect()->guest('login'); } if($request->is('api/*')) { $status = 400; $http_code = $exception->getCode(); if ($this->isHttpException($exception)) { $status = $exception->getStatusCode(); $http_code = $exception->getStatusCode(); } if($exception instanceof ModelNotFoundException) { $status = 404; $http_code = 404; } return response()->json([ 'error' => [ 'code' => $exception->getCode() , 'http_code' => $http_code, 'message' => $exception->getMessage(), 'trace' => $exception->getTrace()[0], ] ], $status); } return parent::render($request, $exception); } /** * Convert an authentication exception into an unauthenticated response. * * @param \Illuminate\Http\Request $request * @param \Illuminate\Auth\AuthenticationException $exception * @return \Illuminate\Http\Response */ protected function unauthenticated($request, AuthenticationException $exception) { if ($request->expectsJson()) { return response()->json(['error' => 'Unauthenticated.'], 401); } return redirect()->guest('login'); } /** * Render the given HttpException. */ protected function renderHttpException(\Symfony\Component\HttpKernel\Exception\HttpException $e) { $status = $e->getStatusCode(); view()->replaceNamespace('errors', [ resource_path('views/layouts/' . config('phpvms.skin') . '/errors'), resource_path('views/errors'), __DIR__ . '/views', ]); #Log::info('error status '. $status); if (view()->exists("errors::{$status}")) { #if (view()->exists('layouts' . config('phpvms.skin') .'.errors.' .$status)) { return response()->view("errors::{$status}", ['exception' => $e], $status, $e->getHeaders()); } else { return $this->convertExceptionToResponse($e); } } }