X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=app%2FSession.php;h=6813e47fa9ece44318cff9fcbfa9cf37ac148bf3;hb=d486fd6294f68a1d74601b28ab10e6fab9853e16;hp=87189dc0bacda2584fe589573467cf19c4ce042d;hpb=ebc0d017c8a24bd16ca1f4347b39b07ba4349135;p=pharext%2Fpharext.org diff --git a/app/Session.php b/app/Session.php index 87189dc..6813e47 100644 --- a/app/Session.php +++ b/app/Session.php @@ -3,15 +3,31 @@ namespace app; use ArrayAccess; -use merry\Config; +use http\Env\Response; +use http\Env\Request; +use http\Params; class Session implements ArrayAccess { - function __construct(Config $config) { + function __construct(Config $config, BaseUrl $baseUrl, Request $request, Response $response, Logger $logger) { + ini_set("session.cookie_path", $baseUrl->path); foreach ($config->session as $key => $val) { ini_set("session.$key", $val); } + if (ini_get("session.use_cookies")) { + $response->addHeader("Vary", "cookie"); + } + $response->addHeader("Cache-Control", + new Params([ + "private" => true, + "must-revalidate" => true, + "max-age" => ini_get("session.cache_expire") * 60 + ]) + ); session_start(); + $logger->debug(session_id(), [ + "url" => $request->getRequestUrl(), + ]); } function regenerateId() {