Contao\CoreBundle\EventListener\RefererIdListener::onKernelRequest PHP Метод

onKernelRequest() публичный Метод

Adds the referer ID to the request.
public onKernelRequest ( GetResponseEvent $event )
$event Symfony\Component\HttpKernel\Event\GetResponseEvent
    public function onKernelRequest(GetResponseEvent $event)
    {
        if (!$this->isBackendMasterRequest($event)) {
            return;
        }
        $request = $event->getRequest();
        /** @var CsrfToken $token */
        $token = $this->tokenManager->refreshToken('contao_referer_id');
        $request->attributes->set('_contao_referer_id', $token->getValue());
    }

Usage Example

Пример #1
0
 /**
  * Tests that the token is not added to a subrequest.
  */
 public function testTokenNotAddedToSubrequest()
 {
     /** @var HttpKernelInterface $kernel */
     $kernel = $this->getMockForAbstractClass('Symfony\\Component\\HttpKernel\\Kernel', ['test', false]);
     $request = new Request();
     $request->attributes->set('_scope', ContaoCoreBundle::SCOPE_BACKEND);
     $event = new GetResponseEvent($kernel, $request, HttpKernelInterface::SUB_REQUEST);
     $listener = new RefererIdListener($this->mockTokenManager());
     $listener->setContainer($this->mockContainerWithContaoScopes(ContaoCoreBundle::SCOPE_BACKEND));
     $listener->onKernelRequest($event);
     $this->assertFalse($request->attributes->has('_contao_referer_id'));
 }