芝麻web文件管理V1.00
编辑当前文件:/home/shaabmuni/crm/app/Exceptions/Handler.php
json(['success' => false, 'errors' => $exception->errors()], $exception->status); } /** * Render an exception into an HTTP response. * * @param type $request * @param Exception $e * * @return type mixed */ public function render($request, Exception $e) { switch ($e) { case $e instanceof \Illuminate\Http\Exception\HttpResponseException: return parent::render($request, $e); case $e instanceof \Tymon\JWTAuth\Exceptions\TokenExpiredException: return response()->json(['message' => $e->getMessage(), 'code' => $e->getStatusCode()]); case $e instanceof \Tymon\JWTAuth\Exceptions\TokenInvalidException: return response()->json(['message' => $e->getMessage(), 'code' => $e->getStatusCode()]); case $e instanceof TokenMismatchException: if ($request->ajax() || $request->wantsJson()) { $result = ['fails' => \Lang::get('lang.session-expired')]; return response()->json(compact('result'), 402); } return redirect()->back()->with('fails', \Lang::get('lang.session-expired')); default: return $this->common($request, $e); } } /** * Function to render 500 error page. * * @param type $request * @param type $e * * @return type mixed */ public function render500($request, $e) { $seg = $request->segments(); if (in_array('api', $seg)) { if ($e instanceof ValidationException) { return $this->invalidJson($request, $e); } return response()->json(['error' => $e->getMessage()], 500); } if (config('app.debug') == true) { return parent::render($request, $e); } elseif ($e instanceof ValidationException) { return parent::render($request, $e); } elseif ($e instanceof \Illuminate\Validation\ValidationException) { return parent::render($request, $e); } return response()->view('errors.500'); //return redirect()->route('error500', []); } /** * Function to render 404 error page. * * @param type $request * @param type $e * * @return type mixed */ public function render404($request, $e) { $seg = $request->segments(); if (in_array('api', $seg)) { return response()->json(['success' => false, 'message' => 'not-found'], 404); } if (config('app.debug') == true) { if ($e->getStatusCode() == '404') { return redirect()->route('error404', []); } return parent::render($request, $e); } return redirect()->route('error404', []); } /** * Function to render database connection failed. * * @param type $request * @param type $e * * @return type mixed */ public function renderDB($request, $e) { $seg = $request->segments(); if (in_array('api', $seg)) { return response()->json(['status' => '404']); } if (config('app.debug') == true) { return parent::render($request, $e); } return redirect()->route('error404', []); } /** * Common finction to render both types of codes. * * @param type $request * @param type $e * * @return type mixed */ public function common($request, $e) { switch ($e) { case $e instanceof HttpException: return $this->render404($request, $e); case $e instanceof NotFoundHttpException: return $this->render404($request, $e); case $e instanceof PDOException: if (strpos('1045', $e->getMessage()) == true) { return $this->renderDB($request, $e); } else { return $this->render500($request, $e); } // case $e instanceof ErrorException: // if($e->getMessage() == 'Breadcrumb not found with name "" ') { // return $this->render404($request, $e); // } else { // return parent::render($request, $e); // } case $e instanceof TokenMismatchException: if ($request->ajax() || $request->wantsJson()) { $result = ['fails' => \Lang::get('lang.session-expired')]; return response()->json(compact('result'), 402); } return redirect()->back()->with('fails', \Lang::get('lang.session-expired')); case $e instanceof AuthorizationException: return redirect('/')->with('fails', \Lang::get('lang.access-denied')); case $e instanceof MethodNotAllowedHttpException: if (stripos($request->url(), 'api')) { $result = ['message' => \Lang::get('lang.methon_not_allowed'), 'success' => false]; return response()->json($result, 405); } $this->render500($request, $e); default: return $this->render500($request, $e); } return parent::render($request, $e); } }