/**
  * @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);
 }