Marco Laravel 8.48.0
PHP 7.4.18
Entorno local: Xampp, Windows10
Estoy desarrollando una API RESTful usando Laravel 8. He escrito algo de lógica dentro del método register() para que la respuesta al error sea mejor y más sencilla. Todo está funcionando perfectamente. Pero el problema es cuando Laravel detecta una excepción que no cae en ninguna de esta lógica y APP_DEBUG=true , este fragmento de código comienza a ejecutarse y tarda demasiado en responder; dice tiempo de espera de ejecución. Si limpio el método register() , muestra una excepción dentro de 1 o 2 segundos. ¿Qué pasa con mi código?
Quiero una respuesta de error mejor y más precisa + cuando APP_DEBUG=true muestra rápidamente una excepción de error.
Creo que este es el culpable.
if (env('APP_DEBUG', false)) { return parent::render($request, $exception); }Manejador.php
class Handler extends ExceptionHandler { use ApiResponser; protected $dontReport = [ // ]; protected $dontFlash = [ 'password', 'password_confirmation', ]; public function register() { $this->renderable(function (Exception $exception, $request) { if ($request->wantsJson()) { if ($exception instanceof HttpException) { $code = $exception->getStatusCode(); $message = Response::$statusTexts[$code]; return $this->errorResponse($message, $code); } if ($exception instanceof AuthenticationException) { return $this->errorResponse($exception->getMessage(), Response::HTTP_UNAUTHORIZED); } if ($exception instanceof AuthorizationException) { dd('authorization exception'); return $this->errorResponse($exception->getMessage(), Response::HTTP_FORBIDDEN); } if ($exception instanceof ValidationException) { $errors = $exception->validator->errors()->getMessages(); return $this->errorResponse($errors, Response::HTTP_UNPROCESSABLE_ENTITY); } if (env('APP_DEBUG', false)) { return parent::render($request, $exception); } return $this->errorResponse('Unexpected error occurred. Please contact your administrator for help.', Response::HTTP_INTERNAL_SERVER_ERROR); } }); } }