Example #1
0
 /**
  * @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();
 }