public function parse($userAgent, array $headers = [])
{
$resultRaw = $this->getResult($userAgent, $headers);
/*
* No result found?
*/
if ($this->hasResult($resultRaw) !== true) {
throw new Exception\NoResultFoundException('No result found for user agent: ' . $userAgent);
}
/*
* Hydrate the model
*/
$result = new Model\UserAgent();
$result->setProviderResultRaw($resultRaw);
/*
* Bot detection
*/
if ($this->isBot($resultRaw) === true) {
$this->hydrateBot($result->getBot(), $resultRaw);
return $result;
}
/*
* hydrate the result
*/
$this->hydrateBrowser($result->getBrowser(), $resultRaw);
$this->hydrateOperatingSystem($result->getOperatingSystem(), $resultRaw);
return $result;
}