/** * @param Config $config */ public function loadConfig(Config $config) { $attrs = $config->getAttributes(); $configHeaders = empty($attrs['http']['headers']) ? [] : $attrs['http']['headers']; if (!empty($this->requiredHeaders)) { foreach ($this->requiredHeaders as $rHeader) { if (empty($configHeaders[$rHeader])) { throw new UserException("Missing required header {$rHeader} in config.http.headers!"); } } } $this->configHeaders = $configHeaders; }
/** * @param JobConfig $jobConfig * @param RestClient $client * @param Config $config * @param Builder $builder */ protected function runJob($jobConfig, $client, $config, $builder) { // FIXME this is rather duplicated in RecursiveJob::createChild() $job = new GenericExtractorJob($jobConfig, $client, $this->parser); $job->setScroller($this->scroller); $job->setAttributes($config->getAttributes()); $job->setMetadata($this->metadata); $job->setBuilder($builder); $job->setResponseModules($this->modules['response']); if (!empty($config->getAttribute('userData'))) { $job->setUserParentId(is_scalar($config->getAttribute('userData')) ? ['userData' => $config->getAttribute('userData')] : $config->getAttribute('userData')); } $job->run(); }