/** * Render an exception into an HTTP response. * * @param \Illuminate\Http\Request $request * @param \Exception $e * @return \Illuminate\Http\Response */ public function render($request, Exception $e) { if ($e instanceof HttpException) { // call i18n middleware manually since http exceptions won't be sent through it (new Internationalization())->handle($request, function () { }); } if ($e instanceof ModelNotFoundException) { $e = new NotFoundHttpException($e->getMessage(), $e); } if ($e instanceof MethodNotAllowedHttpException) { abort(403, 'Method not allowed.'); } if ($e instanceof PrettyPageException && PHP_SAPI != "cli") { return $e->showErrorPage(); } if ($e instanceof ValidationException) { // quick fix for returning 422 // @see https://prinzeugen.net/custom-responses-of-laravel-validations/ return $e->getResponse()->setStatusCode(200); } // render exceptions with whoops if (config('app.debug')) { foreach ($this->dontReport as $type) { if ($e instanceof $type) { return parent::render($request, $e); } } return $this->renderExceptionWithWhoops($e); } return response()->view('errors.brief', ['code' => 0, 'message' => 'cmn']); }