Appearance
Http клиент
Общая информация
Класс \Realweb\Api\Model\Utils\HttpClient расширяет класс Bitrix \Bitrix\Main\Web\HttpClient - добавлена поддержка метода PUT и DELETE
Если по каким либо причинам использовать стандартный HTTP клиент \Realweb\Api\Model\Utils\HttpClient нет возможности (или он не содержит необходимой функциональности) доступна альтернатива.
Все HTTP клиенты обладают следующими методами:
public function post(): Response-POSTзапросpublic function get(): Response-GETзапросpublic function delete(): Response-DELETEзапросpublic function put(): Response-PUTзапросpublic function patch(): Response-PATCHзапросpublic function setUrl(string $strUrl): self- установка url для запросаpublic function addParam(string $strName, mixed $mValue): self- добавление параметра в запросpublic function addHeader(string $strName, string $strValue): self- добавление заголовка
Любой запрос возвращает экземпляр класса \Realweb\Api\Model\Main\Http\Response с методами:
public function getErrors(): Error\Collection- коллекция ошибокpublic function isStatusSuccess(): bool- статус успешной отправки запросаpublic function getResult(): ?string- результат выполнения в виде строки
Curl
Класс \Realweb\Api\Model\Main\Http\Client\Curl позволяет отправлять запросы через curl.
Пример использования
php
$obCurl = new \Realweb\Api\Model\Main\Http\Client\Curl();
$obCurl->setParams(array('section' => 1));
$obCurl->setUrl('http://krovelson.local/api/catalog-filters/');
$obResponse = $obCurl->get();Multi Curl
Класс \Realweb\Api\Model\Main\Http\Client\Curl\Multi позволяет отправить несколько параллельных запросов через curl.
Пример использования
php
$obCurl = new \Realweb\Api\Model\Main\Http\Client\Curl\Multi();
$obCurl->addUrl('yandex.ru', 'yandex');
$obCurl->addUrl('google.com', 'google');
$obResponse = $obCurl->get();
echo $obResponse->getCollection()->getByKey('yandex');
echo $obResponse->getCollection()->getByKey('google');