/** * @param GetResponseForExceptionEvent $event */ public function onKernelException(GetResponseForExceptionEvent $event) { if (false == $event->getException() instanceof ReplyInterface) { return; } $response = $this->replyToSymfonyResponseConverter->convert($event->getException()); if (false == $response->headers->has('X-Status-Code')) { $response->headers->set('X-Status-Code', $response->getStatusCode()); } $event->setResponse($response); }
/** * receiveNotifyUnsafe. * * @method receiveNotifyUnsafe * * @param string $gatewayName * * @return mixed */ public function receiveNotifyUnsafe($gatewayName) { try { $gateway = $this->getPayum()->getGateway($gatewayName); $gateway->execute(new Notify(null)); return $this->responseFactory->make(null, 204); } catch (ReplyInterface $reply) { return $this->converter->convert($reply); } }
/** * @test * * @expectedException \Payum\Core\Exception\LogicException * @expectedExceptionMessage Cannot convert reply Mock_Base_ */ public function shouldChangeReplyToLogicExceptionIfNotSupported() { $notSupportedReply = $this->getMock('Payum\\Core\\Reply\\Base'); $listener = new ReplyToSymfonyResponseConverter(); $listener->convert($notSupportedReply); }