Почему убивается дальнейшее выполнение скрипта в Yii, если в ответе от guzzle в заголовке приходит информация об ошибке?

по идее если ошибка то просто должно записаться в файл вернуть false и к следущему методу пойти

[response_b: ] => {"errors":[{"error":"Ошибка аутентификации: Неправильный или просроченный ключ доступа","code":1056,"moreInfo":"https://dev.moysklad.ru/doc/api/remap/1.2/#mojskla..."}]}

// for test получить сотрудников
public function getEmployee()
{
    try {

        $res = $this->client->get("entity/employee");

    } catch (BadResponseException $e) {
        $this->logError($e);
    }


    if (!$res) return false;

    $res = json_decode($res->getBody()->getContents());

    return $res ?? false;
}


private function logError(BadResponseException $e)
{

    $error = [
        'request_h: ' => $e->getRequest()->getHeaders(),
        'request_b: ' => $e->getRequest()->getBody()->getContents(),
        'response_c: ' => $e->getResponse()->getStatusCode(),
        'response_h: ' => $e->getResponse()->getHeaders(),
        'response_b: ' => $e->getResponse()->getBody()->getContents(),
    ];
    \Yii::error(print_r($error, 1), 'moysklad');
//        \Yii::warning(print_r($error, 1), 'moysklad');

}

    public function updateInvoiceStatusAllAccounts($uid, $status)
    {

        $moySklad3 = new \common\components\MoySklad\MoySklad();

        $msAccounts = $moySklad3->getMsAccountTokens();
        if (!$msAccounts) return false;


        foreach ($msAccounts as $k => $account) {

            $moySklad3 = new \common\components\MoySklad\MoySklad($account->token);

            // токен валидный?
            $employee = $moySklad3->getEmployee();

            if (!$employee) continue;

            $res = $moySklad3->passStatusInvoice($uid, $status);
            if ($res) {
                break;
            }


        }
    }
  • Вопрос задан
  • 52 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы