public function parse($userAgent, array $headers = [])
{
$parser = $this->getParser();
/* @var $resultRaw \stdClass */
$resultRaw = $parser->getBrowser($userAgent);
/*
* No result found?
*/
if ($this->hasResult($resultRaw) !== true) {
throw new NoResultFoundException('No result found for user agent: ' . $userAgent);
}
/*
* Hydrate the model
*/
$result = new Model\UserAgent();
$result->setProviderResultRaw($resultRaw);
/*
* Bot detection (does only work with full_php_browscap.ini)
*/
if ($this->isBot($resultRaw) === true) {
$this->hydrateBot($result->getBot(), $resultRaw);
return $result;
}
/*
* hydrate the result
*/
$this->hydrateBrowser($result->getBrowser(), $resultRaw);
$this->hydrateRenderingEngine($result->getRenderingEngine(), $resultRaw);
$this->hydrateOperatingSystem($result->getOperatingSystem(), $resultRaw);
$this->hydrateDevice($result->getDevice(), $resultRaw);
return $result;
}