/**
  * 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']);
 }
Example #2
0
 /**
  * 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');
     }
 }