You are here

SessionListener.php in Zircon Profile 8

Same filename and directory in other branches
  1. 8.0 vendor/symfony/http-kernel/EventListener/SessionListener.php

File

vendor/symfony/http-kernel/EventListener/SessionListener.php
View source
<?php

/*
 * This file is part of the Symfony package.
 *
 * (c) Fabien Potencier <fabien@symfony.com>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */
namespace Symfony\Component\HttpKernel\EventListener;

use Symfony\Component\HttpKernel\Event\GetResponseEvent;
use Symfony\Component\HttpKernel\KernelEvents;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;

/**
 * Sets the session in the request.
 *
 * @author Johannes M. Schmitt <schmittjoh@gmail.com>
 */
abstract class SessionListener implements EventSubscriberInterface {
  public function onKernelRequest(GetResponseEvent $event) {
    if (!$event
      ->isMasterRequest()) {
      return;
    }
    $request = $event
      ->getRequest();
    $session = $this
      ->getSession();
    if (null === $session || $request
      ->hasSession()) {
      return;
    }
    $request
      ->setSession($session);
  }
  public static function getSubscribedEvents() {
    return array(
      KernelEvents::REQUEST => array(
        'onKernelRequest',
        128,
      ),
    );
  }

  /**
   * Gets the session object.
   *
   * @return SessionInterface|null A SessionInterface instance or null if no session is available
   */
  protected abstract function getSession();

}

Classes

Namesort descending Description
SessionListener Sets the session in the request.