- Модуль: rest
- Путь к файлу: ~/bitrix/modules/rest/classes/general/rest_util.php
- Класс: CRestUtil
- Вызов: CRestUtil::getSpecialUrl
static function getSpecialUrl($method, $query, CRestServer $server)
{
if(is_array($query))
{
$query = http_build_query($query);
}
$query = base64_encode($query."&_=".RandString(32));
$scope = $server->getScope();
if($scope === static::GLOBAL_SCOPE)
{
$scope = '';
}
$signature = $server->getTokenCheckSignature(ToLower($method), $query);
$token = $scope
.static::TOKEN_DELIMITER.$query
.static::TOKEN_DELIMITER.$signature;
$authData = $server->getAuthData();
if($authData['password_id'])
{
$auth = $server->getAuth();
return static::getWebhookEndpoint(
$auth['ap'],
$auth['aplogin'],
$method
)."?".http_build_query(array(
'token' => $token,
));
}
else
{
$urlParam = array_merge(
$server->getAuth(),
array(
'token' => $token,
)
);
return static::getEndpoint().$method.".".$server->getTransport()."?".http_build_query($urlParam);
}
}