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

Breadcrumb

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

function HttpClientKernel::handle

Overrides HttpKernelInterface::handle

File

vendor/symfony/http-kernel/HttpClientKernel.php, line 45

Class

HttpClientKernel
An implementation of a Symfony HTTP kernel using a "real" HTTP client.

Namespace

Symfony\Component\HttpKernel

Code

public function handle(Request $request, int $type = HttpKernelInterface::MAIN_REQUEST, bool $catch = true) : Response {
    $headers = $this->getHeaders($request);
    $body = '';
    if (null !== ($part = $this->getBody($request))) {
        $headers = array_merge($headers, $part->getPreparedHeaders()
            ->toArray());
        $body = $part->bodyToIterable();
    }
    $response = $this->client
        ->request($request->getMethod(), $request->getUri(), [
        'headers' => $headers,
        'body' => $body,
    ] + $request->attributes
        ->get('http_client_options', []));
    $response = new Response($response->getContent(!$catch), $response->getStatusCode(), $response->getHeaders(!$catch));
    $response->headers
        ->remove('X-Body-File');
    $response->headers
        ->remove('X-Body-Eval');
    $response->headers
        ->remove('X-Content-Digest');
    $response->headers = new class ($response->headers
        ->all()) extends ResponseHeaderBag {
        protected function computeCacheControlValue() : string {
            return $this->getCacheControlHeader();
            // preserve the original value
        }

};
    return $response;
}
RSS feed
Powered by Drupal