/** * @param GetResponseForExceptionEvent $event */ public function onKernelException(GetResponseForExceptionEvent $event) { $request = $event->getRequest(); $requestType = $request->headers->get('Content-Type'); $responseType = $request->headers->get('Accept'); if (!$this->factory->validate($requestType) or !$this->factory->validate($responseType)) { return; } $rpcRequest = $request->attributes->get('rpcRequest'); $response = $this->getResponse($event, $request, $rpcRequest); $exception = $event->getException(); $rpcResponse = $this->factory->createFrom($request, $rpcRequest, $exception); $response->setStatusCode(Response::HTTP_INTERNAL_SERVER_ERROR, $exception->getMessage()); $this->setResponse($event, $response, $rpcResponse); }