示例#1
1
 /**
  * Render an exception into an HTTP response.
  *
  * @param Request   $request
  * @param Exception $exception
  *
  * @return Response
  */
 public function render($request, Exception $exception)
 {
     if (!$request->is(config('jsonapi.url'))) {
         return parent::render($request, $exception);
     }
     return $this->handle($request, $exception);
 }
示例#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)
 {
     switch (get_class($e)) {
         case "Swift_TransportException":
         case "PDOException":
             $errorView = "errors.500_config";
             break;
         case "ErrorException":
             $errorView = "errors.500";
             break;
         case "Symfony\\Component\\HttpKernel\\Exception\\MethodNotAllowedHttpException":
             return abort(400);
         default:
             $errorView = false;
             break;
     }
     if ($errorView) {
         // This makes use of a Symfony error handler to make pretty traces.
         $SymfonyDisplayer = new SymfonyDisplayer(config('app.debug'));
         $FlattenException = FlattenException::create($e);
         $SymfonyCss = $SymfonyDisplayer->getStylesheet($FlattenException);
         $SymfonyHtml = $SymfonyDisplayer->getContent($FlattenException);
         $response = response()->view($errorView, ['exception' => $e, 'error_class' => get_class($e), 'error_css' => $SymfonyCss, 'error_html' => $SymfonyHtml], 500);
         return $this->toIlluminateResponse($response, $e);
     } else {
         return parent::render($request, $e);
     }
 }
示例#3
0
 /**
  * Render an exception into an HTTP response.
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  $e
  * @return \Illuminate\Http\Response
  */
 public function render($request, Exception $e)
 {
     switch ($e) {
         case $e instanceof NotFoundHttpException:
             return $this->renderException($e);
             break;
         case $e instanceof ModelNotFoundException:
             return $this->renderException($e);
             break;
         case $e instanceof UnauthorizedException:
             return $this->renderException($e);
             break;
         case $e instanceof NoActiveAccountException:
             return $this->renderException($e);
             break;
         case $e instanceof ConnectionNotAcceptedException:
             return $this->renderException($e);
             break;
         case $e instanceof EmailNotProvidedException:
             return $this->renderException($e);
             break;
         case $e instanceof EmailAlreadyInSystemException:
             return $this->renderException($e);
             break;
         case $e instanceof AlreadySyncedException:
             return $this->renderException($e);
             break;
         case $e instanceof CredentialsDoNotMatchException:
             return $this->renderException($e);
             break;
         default:
             return parent::render($request, $e);
     }
 }
示例#4
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)
 {
     if ($e instanceof ModelNotFoundException || $e instanceof NotFoundHttpException) {
         return redirect(route('dashboard'));
     }
     return parent::render($request, $e);
 }
示例#5
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)
 {
     if ($e instanceof ModelNotFoundException) {
         $e = new NotFoundHttpException($e->getMessage(), $e);
     }
     if (config('app.debug')) {
         return parent::render($request, $e);
     }
     if ($e instanceof TokenMismatchException) {
         return redirect()->back()->withInput($request->except('_token'))->withErrors('A sua sessão expirou. Tente novamente.');
     }
     if (!$this->isHttpException($e)) {
         $pathInfo = $request->getPathInfo();
         $url = $request->url();
         $method = $request->method();
         $message = $e->getMessage() ?: get_class($e);
         $data = ['pathInfo' => $pathInfo, 'url' => $url, 'method' => $method, 'exception' => $message, 'input' => $request->all()];
         \Mail::send('emails.notify-webmaster', $data, function ($message) use($url) {
             $message->from('*****@*****.**');
             $message->to('*****@*****.**', 'André Ascensão');
             $message->subject("Exception at {$url}");
         });
     }
     return parent::render($request, $e);
 }
示例#6
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)
 {
     // LM: 09-02-2015
     // See: http://stackoverflow.com/questions/29115184/laravel-catch-tokenmismatchexception
     if ($e instanceof \Illuminate\Session\TokenMismatchException) {
         // If the erros is a token mismatch
         xplog('A token mismatch error happend', __METHOD__);
         /* @BOOKMARK: TODO For now just log the user out when a token mismatch happens */
         return redirect(route('logout'));
     }
     // See: https://mattstauffer.co/blog/bringing-whoops-back-to-laravel-5
     if ($this->isHttpException($e)) {
         // See: https://laracasts.com/discuss/channels/requests/laravel-5-404-page-driving-me-crazy
         switch ($e->getStatusCode()) {
             case '404':
                 return \Response::view('errors.custom.404');
                 break;
                 /*  case '500':
                         return \Response::view('errors.custom.500');   
                     break; */
             /*  case '500':
                     return \Response::view('errors.custom.500');   
                 break; */
             default:
                 return $this->renderHttpException($e);
                 break;
         }
     }
     if (config('app.debug')) {
         return $this->renderExceptionWithWhoops($e);
     }
     return parent::render($request, $e);
 }
示例#7
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)
 {
     if (App::environment() == 'local') {
         return parent::render($request, $e);
     }
     return response()->json(['error' => ['message' => $e->getMessage()]]);
 }
示例#8
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)
 {
     if ($e instanceof NotFoundHttpException) {
         return response()->view('errors/404', [], 404);
     }
     return parent::render($request, $e);
 }
示例#9
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)
 {
     if ($e instanceof ModelAlreadyExistsException) {
         return redirect()->back()->withErrors([$e->getMessage()]);
     }
     return parent::render($request, $e);
 }
 /**
  * Render an exception into an HTTP response.
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  \Exception  $exception
  * @return \Illuminate\Http\Response
  */
 public function render($request, Exception $exception)
 {
     if ($exception instanceof ValidationException && $this->isApiRoute($request)) {
         return response()->error($exception->validator, 422);
     }
     return parent::render($request, $exception);
 }
 /**
  * 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 ModelNotFoundException) {
         $e = new NotFoundHttpException($e->getMessage(), $e);
     }
     return parent::render($request, $e);
     /* COMMENT ABOVE AND UNCOMMENT BELOW TO REDIRECT FOR CUSTOM ERROR HANDLING */
     /* if ($this->isHttpException($e)) {
                 switch ($e->getStatusCode()) {
                     // not found
                     case 404:
                         die("404 Redirect to Page not found here in app/Exceptions/Handler.php");
                         return redirect()->guest('home');
                         break;
     
                     // internal error
                     case '500':
                         die("500 Redirect to internal error page here in app/Exceptions/Handler.php");
                         return redirect()->guest('home');
                         break;
     
                     default:
                         return $this->renderHttpException($e);
                         break;
                 }
             } else {
                 return parent::render($request, $e);
             } */
 }
示例#12
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)
 {
     //There should really be a better way to get this into json,
     //but this works as well
     if ($e instanceof ValidationException) {
         $message = "[";
         $doneOne = false;
         foreach ($e->validator->messages()->all() as $err) {
             if (!$doneOne) {
                 $doneOne = true;
             } else {
                 $message = $message . ",";
             }
             $message = $message . $err . "\n";
         }
         $message = $message . "]";
         return response($message, 400)->header("Content-Type", "application/json");
     } else {
         if ($e instanceof HttpException) {
             if ($e->getStatusCode() == 404) {
                 return response(File::get(public_path() . '/index.html'));
             }
             return $this->renderHttpException($e);
         }
     }
     return parent::render($request, $e);
 }
示例#13
0
文件: Handler.php 项目: ngmy/webloyer
 /**
  * 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 ($request->is('webhook/*')) {
         return $this->getJsonResponseForException($request, $e);
     }
     return parent::render($request, $e);
 }
示例#14
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)
 {
     if (in_array(get_class($e), $this->dontReport)) {
         return parent::render($request, $e);
     }
     return response()->view('errors.500', [], 500);
 }
示例#15
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)
 {
     /*if ($e instanceof NotFoundHttpException) {
           return redirect()->route('home');
       }*/
     return parent::render($request, $e);
 }
示例#16
0
文件: Handler.php 项目: jahnni/onamap
 /**
  * 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 ChainNoResultException || $e instanceof ArticleGeolocalizeException) {
         return Redirect::back()->withErrors([$e->getMessage()]);
     }
     return parent::render($request, $e);
 }
示例#17
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)
 {
     if ($request->wantsJson()) {
         return $this->responseFactory->create($e);
     }
     return parent::render($request, $e);
 }
示例#18
0
文件: Handler.php 项目: doptor/doptor
 /**
  * Render an exception into an HTTP response.
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  \Exception  $e
  * @return \Illuminate\Http\Response
  */
 public function render($request, Exception $exception)
 {
     if ($exception && method_exists($exception, 'getStatusCode')) {
         $code = $exception->getStatusCode();
     } else {
         $code = 500;
     }
     if (App::environment() != 'local') {
         list($link_type, $link, $layout, $theme) = current_section();
         View::share('current_theme', $theme);
         $current_user = current_user();
         if ($exception instanceof Illuminate\Database\Eloquent\ModelNotFoundException) {
             return response(view("{$link_type}.{$theme}.404", array('title' => 'Page Not Found', 'current_user' => $current_user), array(404)));
         }
         switch ($code) {
             case 401:
                 return response(view("{$link_type}.{$theme}.401", array('title' => 'Unauthorized access', 'current_user' => $current_user), array(401)));
                 break;
             case 404:
                 return response(view("{$link_type}.{$theme}.404", array('title' => 'Page Not Found', 'current_user' => $current_user), array(404)));
                 break;
             case 503:
                 return response(view('503', array('title' => 'Site Offline', 'link_type' => $link_type, 'current_user' => $current_user), array(503)));
                 break;
             default:
                 return response(view("{$link_type}.{$theme}.500", array('title' => 'Error', 'current_user' => $current_user), array($code)));
                 break;
         }
     }
     return parent::render($request, $exception);
 }
示例#19
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)
 {
     if (config('app.debug') && class_exists('\\Whoops\\Run')) {
         return $this->renderExceptionWithWhoops($e);
     }
     return parent::render($request, $e);
 }
示例#20
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)
 {
     if ($e instanceof ModelNotFoundException) {
         abort(404);
     }
     return parent::render($request, $e);
 }
示例#21
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)
 {
     if (view()->exists('errors.' . $e->getStatusCode())) {
         return response()->view('errors.' . $e->getStatusCode(), [], $e->getStatusCode());
     }
     return parent::render($request, $e);
 }
示例#22
0
文件: Handler.php 项目: slicvic/wgg
 /**
  * Render an exception into an HTTP response.
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  \Exception  $exception
  * @return \Illuminate\Http\Response
  */
 public function render($request, Exception $exception)
 {
     if ($request->ajax()) {
         return $this->renderAjax($request, $exception);
     }
     return parent::render($request, $exception);
 }
示例#23
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)
 {
     if ($e instanceof FormValidationException) {
         return back()->withInput()->withErrors($e->getErrors());
     }
     return parent::render($request, $e);
 }
示例#24
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)
 {
     if ($e instanceof MethodNotAllowedHttpException) {
         return \Response::view('custom.404');
     }
     //foolant
     if ($this->isHttpException($e)) {
         switch ($e->getStatusCode()) {
             case '404':
                 //\Log::error($e);
                 return \Response::view('custom.404');
                 break;
             case '500':
                 kd('test');
                 //\Log::error($exception);
                 return \Response::view('custom.500');
                 break;
             default:
                 return $this->renderHttpException($e);
                 break;
         }
     }
     //end
     return parent::render($request, $e);
 }
示例#25
0
文件: Handler.php 项目: lmkhang/mcntw
 public function render($request, Exception $e)
 {
     if ($e instanceof \Symfony\Component\HttpKernel\Exception\NotFoundHttpException) {
         return response(view('errors.missing'), 404);
     }
     return parent::render($request, $e);
 }
示例#26
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)
 {
     if ($e instanceof ModelNotFoundException) {
         return response()->json(['error' => true, 'message' => 'Nenhum resultado encontrado para a sua consulta']);
     }
     return parent::render($request, $e);
 }
示例#27
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)
 {
     /*if(NotFoundHttpException instanceof $e){*/
     return response()->view('welcome');
     /*}*/
     return parent::render($request, $e);
 }
示例#28
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)
 {
     if (Request::is('api/*')) {
         return response()->api(500, 'Error', ['details' => json_encode((array) $e)]);
     }
     return parent::render($request, $e);
 }
示例#29
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)
 {
     if ($e instanceof ModelNotFoundException) {
         $e = new NotFoundHttpException($e->getMessage(), $e);
     }
     return parent::render($request, $e);
 }
 /**
  * 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 ModelNotFoundException) {
         $e = new NotFoundHttpException($e->getMessage(), $e);
     } else {
         if ($e instanceof \Tymon\JWTAuth\Exceptions\TokenExpiredException) {
             return response()->json(['errors' => ['The access token is expired.']], $e->getStatusCode());
         } else {
             if ($e instanceof \Tymon\JWTAuth\Exceptions\TokenInvalidException) {
                 return response()->json(['errors' => ['The access token is invalid.']], $e->getStatusCode());
             } else {
                 if ($e instanceof \Tymon\JWTAuth\Exceptions\JWTException) {
                     return response()->json(['errors' => ['The internal server error is occured.']], $e->getStatusCode());
                 } else {
                     if ($e instanceof NotFoundHttpException) {
                         return response()->json(['errors' => ['The resource hasn\'t found.']], $e->getStatusCode());
                     } else {
                         if ($e instanceof MethodNotAllowedHttpException) {
                             return response()->json(['errors' => ['The method doesn\'t allowed for this resource.']], $e->getStatusCode());
                         }
                     }
                 }
             }
         }
     }
     return parent::render($request, $e);
 }