Перейти к содержимому
docs.
WORKSPACE

Документации проектов

Открыть каталог проектов
Localzet ServerАсинхронный PHP-серверTriangleФреймворк и компонентыMIX IDИдентификация и интеграцииHack APIПубличные API хакатонаACNПроект и компонентыUserlay / UserNetПроект и компонентыAxiomПроект и компонентыМесседжинг через почтуПроект и компонентыLWT / JWT / JOSEПроект и компонентыФинансовая аналитика KimaiПроект и компонентыМультипарадигмальная БДПроект и компонентыZorin PlatformПроект и компонентыZorin TrustПроект и компонентыFloraScope / VegwatchПроект и компонентыaegis-qДокументация проектаaevumdbДокументация проектаauditДокументация проектаauto-invest-managerАвтотрейдерcaine-companionДокументация проектаcertbot-cloudflareДокументация проектаClusterLocalzet Server / ClustercmdveilДокументация проектаConsolePHP CLICronБиблиотеки Localzet Serverdata-connectorДокументация проектаdevice-controlDevice Controlenn-projectДокументация проектаEventsБиблиотеки Localzet ServerflowsintДокументация проектаforgeДокументация проектаHttpClientБиблиотеки Localzet Server✓interpreterСобственный языкinvariaДокументация проектаkeynotesДокументация проектаknotrouteKnotroutelaravel-personal-analyticsДокументация проектаlocalzet-osДокументация проектаmeridianДокументация проектаMQTTБиблиотеки Localzet Servernano-kernelСобственная ОСNoterДокументация проектаpersonal-analyticsДокументация проектаProxyБиблиотеки Localzet ServerPSRБиблиотеки Localzet ServerPSR-7Библиотеки Localzet Serverrschs-monitorДокументация проектаsemsealДокументация проектаshardsealДокументация проектаSocketIOБиблиотеки Localzet ServerSOCKS5Библиотеки Localzet Serverstandalone-analyticsДокументация проектаstatic-php-cliДокументация проектаStorageБиблиотеки Localzet ServersutureДокументация проектаtempoweaveДокументация проектаttsСинтез речиTunnelБиблиотеки Localzet Serverui-kitUI KitvesperДокументация проектаWebAnalyzerWebAnalyzerzorin-access-brokerДокументация проектаzorin-authority-brokerДокументация проектаzorin-authority-sdk-phpДокументация проектаzorin-authority-sdk-pythonДокументация проектаzorin-authority-sdk-tsДокументация проектаzorin-client-intelДокументация проектаzorin-device-core-aospДокументация проектаzorin-host-agentДокументация проектаzorin-native-labДокументация проектаzorin-nodeДокументация проектаzorin-opsДокументация проектаdonstu-python-sdkДокументация проектаfloortraceFloortraceserver-rsLocalzet Server / Cluster
Каталог

HttpClient — API

МетодАргументы
__construct(array $options = [])Настройки ConnectionPool, с особенностью recursive merge.
get(string $url, array $headers = [], $success = null, $error = null): mixedGET и callbacks результата.
post(string $url, array $data = [], array $headers = [], $success = null, $error = null): mixedPOST с массивом данных.
request(string $url, string $method = 'GET', array $data = [], array $headers = [], array $options = [])Общий запрос; method/data/headers/url в options перезаписываются явными аргументами.

При наличии success callback запрос не возвращает Response синхронно. Без success на Unix используется suspension loop; фактическая возможность такого ожидания зависит от event backend и контекста вызова.

process($address) и recycleConnectionFromRequest($request, $response) публичны, но управляют внутренней очередью и pool lifecycle. Не вызывайте их вручную для повторного выполнения пользовательского запроса.

ПолеЗначение
successCallable с HTTP Response.
errorCallable с ошибкой.
progressCallable с очередным фрагментом body.
versionВерсия HTTP, передаваемая в объект запроса.
queryСтрока/массив query; массив превращается в RFC3986-query через http_build_query().
allow_redirects.maxDefault 5; учитывайте recursive merge и отсутствие boolean disable-контракта.

Не добавляйте сюда наугад json, verify, auth, sink, cookies и другие параметры знакомого стороннего HTTP-клиента: этот пакет не объявляет их обработку.

new Request(string $url) создаёт GET-запрос и emitter. setOptions() меняет локальные опции через recursive merge; getOptions() возвращает их. write() дополняет body; массив становится form body либо multipart при ключе multipart. end() применяет опции и завершает отправку. После начала отправки повторная запись не разрешается.

attachConnection()/detachConnection() связывают request с AsyncTcpConnection. getConnection() читает эту связь. Обработчики onConnect/onMessage/onError/onUnexpectClose обслуживают сетевой lifecycle; они не предназначены для самостоятельной симуляции успешного ответа в приложении.

События: success, error, progress. on, once, removeListener, removeAllListeners делегируют emitter. Метод listeners() в Request имеет несовместимый с возвращаемым массивом declared return type static; не используйте его как корректный публичный способ инспекции подписок.

Request::redirect() возвращает новый message либо false, использует относительное разрешение Location и guardMax. Для repeat body нужен перематываемый stream; это не означает, что произвольный одноразовый поток можно повторно отправить.

fetch($address, $ssl) выдаёт свободное соединение либо создаёт новое, пока не достигнут лимит. При исчерпании соединений Client оставляет запрос в очереди.

recycle() возвращает установленное соединение в idle, очищая request callbacks; неустановленное соединение не становится reusable. delete() удаляет запись из pool maps. closeTimeoutConnection() обслуживается Timer и закрывает соединения по idle/connect/request-времени.

Нет публичного transaction, per-request cancellation token, retry policy или circuit breaker. Освобождение соединения не означает повторной безопасной отправки бизнес-операции.

Client\Response добавляет строковое представление body к базовому PSR7 Response; другие методы наследуются с его семантикой изменения объектов.

ParallelClient::push($url, $options) и batch($set) накапливают элементы. await(bool $errorThrow = false) пытается вернуть index => [successFlag, responseOrException], но текущий вызов request внутри него несовместим с сигнатурой Client. Обработка errorThrow не исправляет эту несовместимость.