bundle/EventListener/ExceptionSerializerListener.php
public function onException(GetResponseForExceptionEvent $event): void
    {
        if (!$event->isMasterRequest()) {
            return;
        }

        $attributes = $event->getRequest()->attributes;
        if ($attributes->get(SetIsApiRequestListener::API_FLAG_NAME) !== true) {
            return;
        }

        $exception = $event->getException();

        $this->logException($exception);

        $data = [
            'code' => $exception->getCode(),
            'message' => $exception->getMessage(),
        ];

        if ($exception instanceof HttpExceptionInterface) {
            $statusCode = $exception->getStatusCode();
            if (isset(Response::$statusTexts[$statusCode])) {
                $data['status_code'] = $statusCode;
                $data['status_text'] = Response::$statusTexts[$statusCode];
            }
        }

        if ($this->outputDebugInfo) {
            $debugException = $exception;
            if ($exception->getPrevious() instanceof Exception) {
                $debugException = $exception->getPrevious();
            }

            $debugException = FlattenException::create($debugException);

            $data['debug'] = [
                'file' => $debugException->getFile(),
                'line' => $debugException->getLine(),
                'trace' => $debugException->getTrace(),
            ];
        }

        $event->setResponse(new JsonResponse($data));
    }
public function onException(GetResponseForExceptionEvent $event): void
    {
        if (!$event->isMasterRequest()) {
            return;
        }

        $attributes = $event->getRequest()->attributes;
        if ($attributes->get(SetIsApiRequestListener::API_FLAG_NAME) !== true) {
            return;
        }

        $exception = $event->getException();

        $this->logException($exception);

        $data = [
            'code' => $exception->getCode(),
            'message' => $exception->getMessage(),
        ];

        if ($exception instanceof HttpExceptionInterface) {
            $statusCode = $exception->getStatusCode();
            if (isset(Response::$statusTexts[$statusCode])) {
                $data['status_code'] = $statusCode;
                $data['status_text'] = Response::$statusTexts[$statusCode];
            }
        }

        if ($this->outputDebugInfo) {
            $debugException = $exception;
            if ($exception->getPrevious() instanceof Exception) {
                $debugException = $exception->getPrevious();
            }

            $debugException = FlattenException::create($debugException);

            $data['debug'] = [
                'file' => $debugException->getFile(),
                'line' => $debugException->getLine(),
                'trace' => $debugException->getTrace(),
            ];
        }

        $event->setResponse(new JsonResponse($data));
    }
public function onException ( GetResponseForExceptionEvent $ event ) : void { if ( ! $ event -> isMasterRequest ( ) ) { return ; } $ attributes = $ event -> getRequest ( ) -> attributes ; if ( $ attributes -> get ( SetIsApiRequestListener :: API_FLAG_NAME ) !== true ) { return ; } $ exception = $ event -> getException ( ) ; $ this -> logException ( $ exception ) ; $ data = [ 'code' => $ exception -> getCode ( ) , 'message' => $ exception -> getMessage ( ) , ] ; if ( $ exception instanceof HttpExceptionInterface ) { $ statusCode = $ exception -> getStatusCode ( ) ; if ( isset ( Response :: $ statusTexts [ $ statusCode ] ) ) { $ data [ 'status_code' ] = $ statusCode ; $ data [ 'status_text' ] = Response :: $ statusTexts [ $ statusCode ] ; } } if ( $ this -> outputDebugInfo ) { $ debugException = $ exception ; if ( $ exception -> getPrevious ( ) instanceof Exception ) { $ debugException = $ exception -> getPrevious ( ) ; } $ debugException = FlattenException :: create ( $ debugException ) ; $ data [ 'debug' ] = [ 'file' => $ debugException -> getFile ( ) , 'line' => $ debugException -> getLine ( ) , 'trace' => $ debugException -> getTrace ( ) , ] ; } $ event -> setResponse ( new JsonResponse ( $ data ) ) ; }
Serializes the exception.
Serializes the exception .