public function __construct(Request $request)
{
$this->request = $request;
$config = $request->getLocalVar("aerys.session.config");
assert(\is_array($config), 'No middleware was loaded or Aerys\\Session class instantiated in invalid context');
$this->driver = $config["driver"];
$config += static::CONFIG;
$request->setLocalVar("aerys.session.config", $config);
$id = $request->getCookie($config["name"]);
if (\strlen($id) === self::ID_LENGTH && strspn($id, self::ALLOWED_ID_CHARS) === self::ID_LENGTH) {
$this->setId($id);
}
$this->ttl = $config["ttl"];
$this->maxlife = $config["maxlife"];
}