CurlHandler
in package
implements
HandlerInterface
Обработчик на основе расширения 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 —полученный ответ