/** * @param FilterResponseEvent $event */ public function addPjaxVersion(FilterResponseEvent $event) { $request = $event->getRequest(); if ($this->pjax->isPjaxRequest($request) && $this->pjax->haveGenerator()) { $response = $event->getResponse(); $response->headers->set('X-PJAX-Version', $this->pjax->generateVersion($request)); } }
public function test_it_should_add_pjax_version_to_response() { $event = $this->prophesize('Symfony\\Component\\HttpKernel\\Event\\FilterResponseEvent'); $response = $this->prophesize('Symfony\\Component\\HttpFoundation\\Response'); $request = $this->prophesize('\\Symfony\\Component\\HttpFoundation\\Request'); $headers = $this->prophesize('\\Symfony\\Component\\HttpFoundation\\ResponseHeaderBag'); $response->headers = $headers->reveal(); $event->getRequest()->willReturn($request->reveal()); $event->getResponse()->willReturn($response->reveal()); $this->pjax->isPjaxRequest($request->reveal())->willReturn(true); $this->pjax->haveGenerator()->willReturn(true); $this->pjax->generateVersion($request)->willReturn('version'); $headers->set('X-PJAX-Version', 'version')->shouldBeCalled(); $this->listener->addPjaxVersion($event->reveal()); }
/** * @param Request $request * * @return string|null */ public function pjaxVersion(Request $request) { $version = $this->pjax->generateVersion($request); return $version ? sprintf('<meta http-equiv="x-pjax-version" content="%s"/>', $version) : null; }