public function Session::handle

public Session::handle(Request $request, $type = self::MASTER_REQUEST, $catch = TRUE)

Handles a Request to convert it to a Response.

When $catch is true, the implementation must catch all exceptions and do its best to convert them to a Response instance.

Parameters

Request $request A Request instance:

int $type The type of the request: (one of HttpKernelInterface::MASTER_REQUEST or HttpKernelInterface::SUB_REQUEST)

bool $catch Whether to catch exceptions or not:

Return value

Response A Response instance

Throws

\Exception When an Exception occurs during processing

Overrides HttpKernelInterface::handle

File

core/lib/Drupal/Core/StackMiddleware/Session.php, line 50

Class

Session
Wrap session logic around a HTTP request.

Namespace

Drupal\Core\StackMiddleware

Code

public function handle(Request $request, $type = self::MASTER_REQUEST, $catch = TRUE) {
  if ($type === self::MASTER_REQUEST && PHP_SAPI !== 'cli') {
    $session = $this->container->get($this->sessionServiceName);
    $session->start();
    $request->setSession($session);
  }

  $result = $this->httpKernel->handle($request, $type, $catch);

  if ($type === self::MASTER_REQUEST && $request->hasSession()) {
    $request->getSession()->save();
  }

  return $result;
}

© 2001–2016 by the original authors
Licensed under the GNU General Public License, version 2 and later.
Drupal is a registered trademark of Dries Buytaert.
https://api.drupal.org/api/drupal/core!lib!Drupal!Core!StackMiddleware!Session.php/function/Session::handle/8.1.x