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\HttpKernelCode
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;
}