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"]; }