CloudCastle Curl

CurlHandler
in package
implements HandlerInterface

FinalYes

Обработчик на основе расширения cURL.

Выполняет один сетевой обмен: собирает опции CurlOptionsBuilder, потоково принимает заголовки и тело через ResponseAccumulator (память ограничена сверху ещё во время загрузки) и восстанавливает Response с таймингами. Перенаправления и повторы не выполняются — это задача middleware.

Функции curl_* вызываются без указания пространства имён, поэтому в тестах их можно подменить, не выходя в сеть.

Table of Contents

Interfaces

HandlerInterface
Низкоуровневый обработчик, выполняющий один сетевой обмен.

Methods

__construct()  : mixed
__destruct()  : mixed
Освободить переиспользуемый дескриптор при уничтожении обработчика.
handle()  : Response
Выполнить один запрос и вернуть ответ.

Methods

__construct()

public __construct([CurlConfigurator $configurator = new CurlConfigurator() ][, Redactor|null $redactor = null ]) : mixed
Parameters
$configurator : CurlConfigurator = new CurlConfigurator()

сборщик опций cURL

$redactor : Redactor|null = null

редактор секретов для сообщений об ошибках (null — стандартный)

__destruct()

Освободить переиспользуемый дескриптор при уничтожении обработчика.

public __destruct() : mixed

curl_close() не вызывается: с PHP 8.0 функция бездействует, а с 8.5 объявлена устаревшей — сброс ссылки отдаёт ресурс сборщику мусора.

handle()

Выполнить один запрос и вернуть ответ.

public handle(Request $request) : Response
Parameters
$request : Request

исходящий запрос

Attributes
#[Override]
Return values
Response —

полученный ответ

On this page

Search results