getStatusCode(); $message = Response::$statusTexts[$code]; return $this->errorResponse($message,$code); } if($exception instanceof ModelNotFoundException) { $model = strtolower(class_basename($exception->getModel())); return $this->errorResponse(trans('errors.model_not_found',['model'=>$model]), Response::HTTP_NOT_FOUND); } if($exception instanceof AuthorizationException) { return $this->errorResponse($exception->getMessage(),Response::HTTP_UNAUTHORIZED); } if($exception instanceof ValidationException) { $errors = $exception->validator->errors()->getMessages(); return $this->errorResponse($errors, Response::HTTP_UNPROCESSABLE_ENTITY); } if($exception instanceof AuthenticationException) { return $this->errorResponse($exception->getMessage(),Response::HTTP_UNAUTHORIZED); } if ($exception instanceof QueryException) { return $this->errorResponse($exception->getMessage(),Response::HTTP_INTERNAL_SERVER_ERROR); } if ($exception instanceof ServerException) { return $this->errorResponse($exception->getMessage(),Response::HTTP_INTERNAL_SERVER_ERROR); } if ($exception instanceof \ErrorException) { return $this->errorResponse($exception->getMessage(),Response::HTTP_INTERNAL_SERVER_ERROR); } if ( $exception instanceof ClientException) { $message = $exception->getResponse()->getBody()->getContents(); $error =json_decode($message); $code = $exception->getCode(); if($error){ if (isset($error->message)) { $message = json_decode($error->message); if (isset($message->errorMessage)) return $this->errorResponse($message->errorMessage, $code); return $this->errorResponse($error->message, $code); } if (isset($error->error)) { $message = json_decode($error->error); if (isset($message->message)) return $this->errorResponse($message->message, $code); return $this->errorResponse($error->error, $code); } return $this->errorResponse($error, $code); } else return $this->errorResponse($message,$code); } if( env('APP_DEBUG', false)) { return parent::render($request,$exception); } return $this->errorResponse(trans('errors.unexpected_error'), Response::HTTP_INTERNAL_SERVER_ERROR); } }