render() public method

Render an exception into an HTTP response.
public render ( Illuminate\Http\Request $request, Exception $e ) : Illuminate\Http\Response
$request Illuminate\Http\Request
$e Exception
return Illuminate\Http\Response
 public function testNotFoundRender()
 {
     $path = base_path('tests/storage/logs/report.log');
     \Log::useFiles($path);
     $exception = new \Illuminate\Database\Eloquent\ModelNotFoundException();
     $exception->setModel('Testing');
     $response = $this->handler->render($this->app['request'], $exception);
     $this->assertSame(404, $response->getStatusCode());
     $this->beforeApplicationDestroyed(function () use($path) {
         \File::delete($path);
     });
 }
 /**
  * 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 (strpos($request->url(), '/api/') === false) {
         return parent::render($request, $e);
     }
     $response = [];
     // If the app is in debug mode
     if (config('app.debug')) {
         // Add the exception class name, message and stack trace to response
         $response['exception'] = get_class($e);
         // Reflection might be better here
         $response['message'] = $e->getMessage();
         $response['file'] = $e->getFile();
         $response['line'] = $e->getLine();
     }
     // Default response of 400
     $status = 400;
     // If this exception is an instance of HttpException
     if ($this->isHttpException($e)) {
         // Grab the HTTP status code from the Exception
         $status = $e->getStatusCode();
         $response['status'] = $status;
         $response['message'] = self::$statusMessages[$status];
     }
     // Return a JSON response with the response array and status code
     return response()->json($response, $status)->header('Access-Control-Allow-Origin', env('ALLOWED_HOSTS', '*'))->header('Access-Control-Allow-Methods', 'POST, GET, OPTIONS, PUT, DELETE')->header('Access-Control-Allow-Credentials', 'true')->header('Access-Control-Allow-Headers', 'Content-Type, X-Auth-Token, Origin, Authorization');
 }
Example #3
0
 public function render($request, Exception $e)
 {
     if (!env('APP_DEBUG')) {
         $this->csiService->registerCrash($e);
     }
     return parent::render($request, $e);
 }
Example #4
0
 public function render($request, Exception $e)
 {
     //we can target any error we like
     if ($e instanceof \Bootleg\Cms\CustomError) {
         //we can potentially return something different for ajax requests
         if ($request->ajax()) {
             return $this->renderExceptionWithWhoops($request, $e);
         } else {
             return $this->renderExceptionWithWhoops($request, $e);
         }
     }
     if ($this->isHttpException($e)) {
         $statusCode = $e->getStatusCode();
         switch ($statusCode) {
             //different handling for different error codes
             case '404':
                 return $this->renderHttpExceptionView($e);
                 break;
             default:
                 return $this->renderExceptionWithWhoops($request, $e);
                 break;
         }
     } else {
         return parent::render($request, $e);
     }
 }
Example #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);
     }
     return parent::render($request, $e);
 }
Example #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)
 {
     if ($request->ajax() && !$request->pjax() || $request->wantsJson()) {
         return $this->sendResponseForApiException($e);
     }
     if (is_backend()) {
         if ($e instanceof ModelNotFoundException) {
             return $this->sendResponseForModelNotFound($e);
         }
         if ($e instanceof ValidationException) {
             return $this->sendResponseForValidationError($request, $e);
         }
         return $this->renderControllerException($e);
     }
     return parent::render($request, $e);
 }
 /**
  * Render an exception into an HTTP response.
  *
  * @param  Request   $request
  * @param  Exception $e
  * @return Response
  */
 public function render($request, Exception $e)
 {
     if ($e instanceof HttpException) {
         if (!$e->getStatusCode() == 404) {
             return $this->renderHttpException($e);
         }
         if (($redirect = config('streams::404.redirect')) && $request->path() !== $redirect) {
             return redirect($redirect, 301);
         }
         return $this->renderHttpException($e);
     } elseif (!config('app.debug')) {
         return response()->view("streams::errors.500", ['message' => $e->getMessage()], 500);
     } else {
         return parent::render($request, $e);
     }
 }