- Модуль: sale
- Путь к файлу: ~/bitrix/modules/sale/lib/cashbox/cashboxcheckbox.php
- Класс: BitrixSaleCashboxCashboxCheckbox
- Вызов: CashboxCheckbox::sendRequestWithAuthorization
private function sendRequestWithAuthorization(string $method, string $url, array $headersData = [], array $bodyData = [], bool $allowRedirect = true): Result
{
$firstRequestResult = $this->sendRequest($method, $url, $headersData, $bodyData, $allowRedirect);
if (!$firstRequestResult->isSuccess())
{
return $firstRequestResult;
}
$firstRequestResponse = $firstRequestResult->getData();
$badResponseCodes = [self::HTTP_RESPONSE_CODE_401, self::HTTP_RESPONSE_CODE_403];
if (!in_array($firstRequestResponse['http_code'], $badResponseCodes))
{
return $firstRequestResult;
}
$headersDataWithNewToken = $headersData;
$requestTokenResult = $this->requestAccessToken();
if (!$requestTokenResult->isSuccess())
{
return $requestTokenResult;
}
$newToken = $requestTokenResult->get('token');
$headersDataWithNewToken['ACCESS_TOKEN'] = $newToken;
$secondRequestResult = $this->sendRequest($method, $url, $headersDataWithNewToken, $bodyData, $allowRedirect);
return $secondRequestResult;
}