- Модуль: 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));
}