/** * 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) { $responseException = $this->filter($e); // debugging mode if (config('app.debug') && $e instanceof AccessDeniedHttpException === false) { return $this->renderDebugMode($request, $e, $responseException); } // post request if ($request->isMethod('post') && !$request->ajax() && !$request->wantsJson()) { return redirect()->back()->with('alert', ['type' => 'danger', 'statusCode' => $responseException->getStatusCode(), 'message' => $responseException->getMessage()])->withInput(); } $view = null; // ajax request if ($request->ajax() || $request->wantsJson()) { $view = \Presenter::makeApi(['message' => $responseException->getMessage()]); } else { \Presenter::setSkin('error'); \Theme::selectBlankTheme(); $view = \Presenter::make('error', ['type' => 'danger', 'exception' => $responseException, 'message' => $responseException->getMessage()]); } return response($view, $responseException->getStatusCode()); }