ApiPlatform\Core\Action\ExceptionAction::__invoke PHP Method

__invoke() public method

Converts a an exception to a JSON response.
public __invoke ( FlattenException $exception, Request $request ) : Response
$exception Symfony\Component\Debug\Exception\FlattenException
$request Symfony\Component\HttpFoundation\Request
return Symfony\Component\HttpFoundation\Response
    public function __invoke(FlattenException $exception, Request $request) : Response
    {
        $exceptionClass = $exception->getClass();
        foreach ($this->exceptionToStatus as $class => $status) {
            if (is_a($exceptionClass, $class, true)) {
                $exception->setStatusCode($status);
                break;
            }
        }
        $headers = $exception->getHeaders();
        $format = ErrorFormatGuesser::guessErrorFormat($request, $this->errorFormats);
        $headers['Content-Type'] = sprintf('%s; charset=utf-8', $format['value'][0]);
        $headers['X-Content-Type-Options'] = 'nosniff';
        $headers['X-Frame-Options'] = 'deny';
        return new Response($this->serializer->serialize($exception, $format['key']), $exception->getStatusCode(), $headers);
    }