You are here

public function ContainerAwareHttpKernel::handle in Zircon Profile 8.0

Same name and namespace in other branches
  1. 8 vendor/symfony/http-kernel/DependencyInjection/ContainerAwareHttpKernel.php \Symfony\Component\HttpKernel\DependencyInjection\ContainerAwareHttpKernel::handle()

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 HttpKernel::handle

File

vendor/symfony/http-kernel/DependencyInjection/ContainerAwareHttpKernel.php, line 63

Class

ContainerAwareHttpKernel
Adds a managed request scope.

Namespace

Symfony\Component\HttpKernel\DependencyInjection

Code

public function handle(Request $request, $type = HttpKernelInterface::MASTER_REQUEST, $catch = true) {
  $this->container
    ->enterScope('request');
  $this->container
    ->set('request', $request, 'request');
  try {
    $response = parent::handle($request, $type, $catch);
  } catch (\Exception $e) {
    $this->container
      ->set('request', null, 'request');
    $this->container
      ->leaveScope('request');
    throw $e;
  }
  $this->container
    ->set('request', null, 'request');
  $this->container
    ->leaveScope('request');
  return $response;
}