Home » Программирование » Короткие заметки » Получение подробной информации от http-клиента Guzzle

Получение подробной информации от http-клиента Guzzle

При отладке приложений с использованием http-клиента Guzzle возникает одно неудобство — отладчик не перехватывает сам запрос, а проходит мимо. Понять, что происходит в ходе запроса, порой проблематично.

Дело осложняется ещё и тем, что данные, которые можно вытащить из response, либо скудны, либо обрезаны (truncated…). Чтобы получить весь объём отладочной информации необходимо заключить код отправки запроса в try-catch, а $exception в блоке catch вывести как

(string)$exception->getResponse()->getBody()

Вот, например, как это можно сделать в yii2:

        try {
            $response = (new Client())->post(Url::to('/transaction/note', true), [
                RequestOptions::COOKIES     => CookieJar::fromArray($cookiesEncoded, \Yii::$app->request->hostName),
                RequestOptions::FORM_PARAMS => $postData,
            ]);
        } catch (BadRequestHttpException $exception) {
            // Полный листинг проблемы
            $result = (string)$exception->getResponse()->getBody();
        }

Добавить комментарий

Войти с помощью: 

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Do NOT follow this link or you will be banned from the site!