public function buildSiteConfig($url, $html = '', $addToCache = true)
{
$config = $this->configBuilder->buildFromUrl($url, $addToCache);
// load fingerprint config?
if (true !== $config->autodetect_on_failure()) {
return $config;
}
// check HTML for fingerprints
$fingerprintHost = $this->findHostUsingFingerprints($html);
if (false === $fingerprintHost) {
return $config;
}
$configFingerprint = $this->configBuilder->buildForHost($fingerprintHost);
if (!empty($this->config['fingerprints']) && false !== $configFingerprint) {
$this->logger->log('debug', 'Appending site config settings from {host} (fingerprint match)', array('host' => $fingerprintHost));
$this->configBuilder->mergeConfig($config, $configFingerprint);
if ($addToCache && false === $this->configBuilder->getCachedVersion($fingerprintHost)) {
$this->configBuilder->addToCache($fingerprintHost, $configFingerprint);
}
}
return $config;
}