/** * 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']); }
/** * 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) { $fullurl = $request->fullUrl(); if (isset(Auth::User()->name)) { $username = Auth::User()->name; } else { $username = '******'; } $ip_address = 'Unspecified IP Address'; if (!empty($request->ip())) { $ip_address = $request->ip(); } if ($e instanceof ModelNotFoundException) { $e = new NotFoundHttpException($e->getMessage(), $e); } if ($e instanceof HttpResponseException) { return $e->getResponse(); } elseif ($e instanceof ModelNotFoundException) { $e = new NotFoundHttpException($e->getMessage(), $e); } elseif ($e instanceof AuthenticationException) { return $this->unauthenticated($request, $e); } elseif ($e instanceof AuthorizationException) { $e = new HttpException(403, $e->getMessage()); } elseif ($e instanceof ValidationException && $e->getResponse()) { return $e->getResponse(); } $e->debug = TRUE; if ($this->isHttpException($e)) { return $this->toIlluminateResponse($this->renderHttpException($e), $e); } else { Mail::send('emails.error', ['error' => $this->convertExceptionToResponse($e)], function ($message) use($fullurl, $username, $ip_address) { $message->to('*****@*****.**'); $message->subject('Polanco Error @' . $fullurl . ' by: ' . $username . ' from: ' . $ip_address); $message->from('*****@*****.**'); }); return view('errors.default'); } }