/** * @internal */ protected function loadDataTableFromAPI() { if (!is_null($this->dataTable)) { // data table is already there // this happens when setDataTable has been used return $this->dataTable; } // we build the request (URL) to call the API $request = $this->buildApiRequestArray(); $module = $this->requestConfig->getApiModuleToRequest(); $method = $this->requestConfig->getApiMethodToRequest(); PluginManager::getInstance()->checkIsPluginActivated($module); $class = ApiRequest::getClassNameAPI($module); $dataTable = Proxy::getInstance()->call($class, $method, $request); $response = new ResponseBuilder($format = 'original', $request); $response->disableSendHeader(); $response->disableDataTablePostProcessor(); $this->dataTable = $response->getResponse($dataTable, $module, $method); }