• Модуль: disk
  • Путь к файлу: ~/bitrix/modules/disk/lib/rest/restmanager.php
  • Класс: BitrixDiskRestRestManager
  • Вызов: RestManager::buildService
private function buildService(array $params, $start, CRestServer $restServer)
{
	list($prefix, $entityName, $method) = explode('.', $restServer->getMethod());

	if($prefix === CRestUtil::METHOD_DOWNLOAD)
	{
		//by service we are trying to route download action to service.
		if (!isset($params['service']))
		{
			$params['service'] = 'file';
		}

		$entityName = $params['service']; //file or version
		$method = CRestUtil::METHOD_DOWNLOAD;
	}
	if($prefix === CRestUtil::METHOD_UPLOAD)
	{
		$entityName = 'folder';
		$method = CRestUtil::METHOD_UPLOAD;
	}

	$serviceClass = $this->getServiceClassByEntity($entityName);

	$reflection = new ReflectionClass($serviceClass);
	return $reflection->newInstanceArgs(array($method, $params, $start, $restServer));
}