Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. HttpKernel.php

function HttpKernel::handle

Overrides HttpKernelInterface::handle

File

vendor/symfony/http-kernel/HttpKernel.php, line 69

Class

HttpKernel
HttpKernel notifies events to convert a Request object to a Response one.

Namespace

Symfony\Component\HttpKernel

Code

public function handle(Request $request, int $type = HttpKernelInterface::MAIN_REQUEST, bool $catch = true) : Response {
    $request->headers
        ->set('X-Php-Ob-Level', (string) ob_get_level());
    $this->requestStack
        ->push($request);
    $response = null;
    try {
        return $response = $this->handleRaw($request, $type);
    } catch (\Throwable $e) {
        if ($e instanceof \Error && !$this->handleAllThrowables) {
            throw $e;
        }
        if ($e instanceof RequestExceptionInterface) {
            $e = new BadRequestHttpException($e->getMessage(), $e);
        }
        if (false === $catch) {
            $this->finishRequest($request, $type);
            throw $e;
        }
        return $response = $this->handleThrowable($e, $request, $type);
    } finally {
        $this->requestStack
            ->pop();
        if ($response instanceof StreamedResponse && ($callback = $response->getCallback())) {
            $requestStack = $this->requestStack;
            $response->setCallback(static function () use ($request, $callback, $requestStack) {
                $requestStack->push($request);
                try {
                    $callback();
                } finally {
                    $requestStack->pop();
                }
            });
        }
    }
}

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal