private function parseCookie($cookieString)
{
$params = [];
$pairs = explode(';', $cookieString);
foreach ($pairs as $number => $pair) {
$pair = trim($pair);
if (strpos($pair, '=') === false) {
$params[$this->normalizeCookieParamName($pair)] = true;
} else {
list($name, $value) = explode('=', $pair, 2);
if ($number === 0) {
$params['name'] = $name;
$params['value'] = urldecode($value);
} else {
$params[$this->normalizeCookieParamName($name)] = urldecode($value);
}
}
}
$cookie = new Cookie();
foreach ($params as $name => $value) {
if ($cookie->canSetProperty($name)) {
// Cookie string may contain custom unsupported params
$cookie->{$name} = $value;
}
}
return $cookie;
}